siddhu Asked: 2019-04-17 14:40:55 +0800 CST2019-04-17 14:40:55 +0800 CST 2019-04-17 14:40:55 +0800 CST MongoDB 副本集升级 772 我正在将我的 MongoDB 副本集从 3.0.15 升级到 3.2.22。当我使用 3.2.22 二进制文件启动节点时,lastHeartbeatMessage每当我运行时,我都会看到下面的内容rs.status() 错误信息 我看到此消息,即使该节点显示为SECONDARY并且日志文件中没有任何内容表明有问题。每当我将新文档插入 时PRIMARY,我也可以在 中看到相同的文档,SECONDARY然后上面的消息就会消失。我看到上述消息的原因是什么? mongodb 1 个回答 Voted Best Answer Stennie 2019-04-17T22:51:28+08:002019-04-17T22:51:28+08:00 存在一个影响 MongoDB 3.2 ( SERVER-20144lastHeartbeatMessage ) 的已知问题,在从主数据库复制新数据之前,可能无法清除陈旧的数据。插入或更新数据应该可以解决这个问题。 我相信这已经通过 MongoDB 3.4 中的复制更改得到缓解,如果集群空闲超过 10 秒(根据SERVER-23892),它会定期执行无操作写入。3.4 无操作复制更改是Max Staleness 规范的一部分,它允许驱动程序估计辅助节点的陈旧性以支持新的maxStalenessSeconds读取首选项选项。 由于 MongoDB 3.2 版本系列在 2018 年 9 月生命周期结束,我强烈建议升级到更新的和积极支持的生产版本。
存在一个影响 MongoDB 3.2 ( SERVER-20144
lastHeartbeatMessage
) 的已知问题,在从主数据库复制新数据之前,可能无法清除陈旧的数据。插入或更新数据应该可以解决这个问题。我相信这已经通过 MongoDB 3.4 中的复制更改得到缓解,如果集群空闲超过 10 秒(根据SERVER-23892),它会定期执行无操作写入。3.4 无操作复制更改是Max Staleness 规范的一部分,它允许驱动程序估计辅助节点的陈旧性以支持新的
maxStalenessSeconds
读取首选项选项。由于 MongoDB 3.2 版本系列在 2018 年 9 月生命周期结束,我强烈建议升级到更新的和积极支持的生产版本。