将包含两个节点的副本集升级到 3.6 后,仲裁服务器功能兼容性问题



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

db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )

主设备和辅助都将功能兼容性更新到 3.6,但仲裁器功能兼容性仍为 3.4。

为什么它仍然是 3.4 以及如何使仲裁器具有与主要和辅助相同的功能兼容性?

从MongoDB 3.6.7开始,仲裁程序持续记录"在未完全升级到FCV3.6的情况下使用会话",即使replset是FCV3.6:

仲裁服务器始终具有 FCV 的降级值,而不管副本集的 FCV 如何。因此,如果仲裁服务器具有二进制版本 3.6,它将始终具有 FCV=3.4。他们从不学习FCV,因为他们不复制admin.system.version集合。因此,仲裁者的行为不允许依赖FCV。