database
runtime_error
ai_generated
true
MongoDB 服务器错误:写入关注错误:数据承载节点不足
MongoServerError: WriteConcernError: Not enough data-bearing nodes
ID: database/mongodb-write-concern-timeout
78%修复率
82%置信度
1证据数
2024-02-10首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| MongoDB 4.4.18 | active | — | — | — |
| MongoDB 5.0.14 | active | — | — | — |
| MongoDB 6.0.5 | active | — | — | — |
根因分析
MongoDB 副本集在满足写入关注(write concern)时,由于多数节点不可用或数据不同步,导致写入操作超时。
English
MongoDB 副本集在满足写入关注(write concern)时,由于多数节点不可用或数据不同步,导致写入操作超时。
官方文档
https://www.mongodb.com/docs/manual/reference/write-concern/解决方案
-
检查副本集状态:rs.status(),确认所有节点处于 PRIMARY 或 SECONDARY 状态。如果节点卡在 RECOVERING,可能需要重新同步。
-
临时降低写入关注级别:db.collection.insertOne({data: 'test'}, {writeConcern: {w: 1}}); 然后修复副本集同步问题。
无效尝试
常见但无效的做法:
-
60% 失败
增加副本集节点数而不确保同步状态,可能仍然无法满足写入关注。
-
70% 失败
降低写入关注级别为 w:1 可能导致数据丢失风险,且不解决根本问题。