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

Better enforcement of configdb string consistency

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.8.0-rc4
    • Component/s: Sharding
    • Labels:
      None
    • Sharding 8 08/28/15

      This is currently enforced through the setShardVersion command. Some of the issues:

      1. There is currently no single authoritative source of truth. The configdb string is passed to the mongod through the setShardVersion command and the first one to succeed wins for that shard. So it is possible for shards within the same cluster to have different configdb string.
      2. The reliance on setShardVersion means that mongos will not detect if a different configdb string exists in the server if it never performed any operation on versioned namespaces. Note: majority of the writes in the sharding internals to the config are unversioned.

      Mongos also sends the full config string for metadata changing commands performed by shards like moveChunk, splitChunk and mergeChunk. However, these are currently only used for initializing the sharding state in the shard and is never used for checking consistency if already initialized.

            Assignee:
            Unassigned Unassigned
            Reporter:
            randolph@mongodb.com Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: