使用Arbiter将两个节点的副本集升级到3.6后,Arbiter功能兼容性问题

And*_*nov 6 mongodb

我已按照此指令https://docs.mongodb.com/manual/release-notes/3.6-upgrade-replica-set/将MongoDB副本集升级到3.6 .当我执行命令

db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
Run Code Online (Sandbox Code Playgroud)

主要和辅助更新功能兼容3.6,但Arbiter功能兼容性仍然是3.4.

为什么它仍然是3.4以及如何使Arbiter具有与Primary作为Secondary的相同的功能兼容性?

sna*_*nak 4

MongoDB 3.6.7 起,仲裁器不断记录“在未完全升级到 FCV3.6 时使用会话”,即使 replset 是 FCV3.6

仲裁器始终拥有 FCV 的降级值,无论副本集的 FCV 是多少。因此,如果仲裁器的二进制版本为 3.6,则它将始终具有 FCV=3.4。他们永远不会学习 FCV,因为他们不会复制 admin.system.version 集合。因此,仲裁者的行为不允许依赖于 FCV。