故障案例--mongodb writeconcern为majority时的又一个bug

本文详细描述了一起在MongoDB中使用writeconcern为majority时遇到的故障,故障表现为应用层报错但数据实际写入成功。故障原因是由于使用了受影响的2.6.1版本,存在一个已知的复制链bug。解决方案包括重启所有节点或升级到2.6.6及以上版本,避免不连续的_id值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

之前的文章有提到过majority的一个坑,还谈不上bug,链接如下点击打开链接

故障现象

majority下应用层一直报错,但实际数据写入成功,包括主从节点都成功;w设置为1以后没有报错,写入成功

 044dd16e-7706-4a49-b4ff-73d86a99d6fd:PRIMARY> db.setWriteConcern({w:"majority",wtimeout:3000})
044dd16e-7706-4a49-b4ff-73d86a99d6fd:PRIMARY> db.getWriteConcern()
WriteConcern({ "w" : "majority", "wtimeout" : 3000 })
044dd16e-7706-4a49-b4ff-73d86a99d6fd:PRIMARY> db.things.insert({name:"123"})
WriteResult({
"nInserted" : 1,
"writeConcernError" : {
"code" : 64,
"errInfo" : {
"wtimeout" : true
},
"errmsg" : "waiting for replication timed out"
}
}) 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值