Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-25155

Create setFeatureCompatibilityVersion command

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.3.12
    • Affects Version/s: None
    • Component/s: Querying, Sharding
    • Labels:
      None
    • Fully Compatible
    • Query 18 (08/05/16), Query 2016-08-29
    • 15

      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.

            Assignee:
            tess.avitabile@mongodb.com Tess Avitabile (Inactive)
            Reporter:
            tess.avitabile@mongodb.com Tess Avitabile (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated:
              Resolved: