-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding, Upgrade/Downgrade
-
Catalog and Routing
-
ALL
-
26
In the addShard command, we run setFeatureCompatibilityVersion on the replica set to ensure it has the same featureCompatibilityVersion as the config server. Once this succeeds, we add the shard to config.shards. However, setFeatureCompatibilityVersion only requires that the update to admin.system.version reach a majority of nodes in order to return success. If there are any lower-version mongoses in the cluster, then when they observe the existence of a new shard, they will connect to it and crash if they encounter a node with a higher-version feature compatibility version. We should make the setFeatureCompatibilityVersion command use a w:all writeConcern, so that it waits for the update to reach all members of the new shard (in addition to the w:majority wait that ensures the update is committed).