setFeatureCompatibilityVersion(v) should do the following:
--Error if v is greater than the node's version or < 3.2.
On mongod (including config server):
--Set the version in admin.system.version to v.
On mongos:
--Send setFeatureCompatibilityVersion(v) to all shards and the config primary.
When a mongod (including config server) starts up:
--If admin.system.version contains a version higher than the node's version, fail.
--Run setFeatureCompatibilityVersion(3.4) on self if it is (1) started with no non-local databases, (2) a standalone or the primary of its replica set, (3) not run with --shardsvr.
addShard changes:
If the config server has admin.system.views, it sends setFeatureCompatibilityVersion(v) to the primary of the replica set being added, where v is the config server’s version in admin.system.version.
getAllParameters changes:
If admin.system.views is present, expose version in admin.system.version in getAllParameters.
Note: This command will no longer touch the admin.system.views collection, as the existence of this collection does not cause initial sync to fail on 3.2. Instead, we will use V2 indexes to cause 3.2 secondaries to fail. V2 indexes will be implemented in SERVER-25156.
- depends on
-
TOOLS-1371 mongorestore assumes admin.system.version only contains authSchema document
- Closed
- is depended on by
-
SERVER-25156 Create index version V2
- Closed
-
SERVER-25159 Default BSON validation version should depend on admin.system.version
- Closed
- is related to
-
SERVER-25752 Adjust jstests to deal with setFeatureCompatibilityVersion write after first election
- Closed