我正在处理 MongoDB 的回滚过程。问题是大数据的回滚可能大于 300 MB 或更多。
这个问题有什么解决办法吗?错误日志是
replSet syncThread: replSet too much data to roll back
在官方 MongoDB 文档中,我看不到解决方案。
感谢您的回答。
我正在处理 MongoDB 的回滚过程。问题是大数据的回滚可能大于 300 MB 或更多。
这个问题有什么解决办法吗?错误日志是
replSet syncThread: replSet too much data to roll back
在官方 MongoDB 文档中,我看不到解决方案。
感谢您的回答。
副本集故障转移期间的回滚页面指出:
仅当主节点已接受在主节点退出之前辅助节点未成功复制的写入操作时,才需要回滚。当主要作为次要重新加入集合时,它会恢复或“回滚”其写入操作以保持与其他成员的数据库一致性。
和:
当回滚确实发生时,它通常是网络分区的结果。
换句话说,回滚场景通常是这样发生的:
上面步骤4中写入旧主的数据是回滚的数据,因为在一段时间内,它充当了“ false”主要在步骤 3)
如果要回滚的数据超过 300 MB, MongoDB 将不会执行回滚。您看到的消息 ( replSet too much data to roll back
) 表示您遇到了这种情况,并且必须将rollback
目录保存在节点的 下dbpath
,或者执行初始同步。
w: majority
使用(请参阅Write Concern和Write Concern for Replica Sets )配置您的应用程序将防止回滚。有关详细信息,请参阅避免副本集回滚。