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

Remove config connection string command parameters that are no longer used to initiate sharding, and eliminate current uses of ShardLocal::getConnString()

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.5.4
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
      None
    • Fully Compatible
    • Sharding 2017-02-13, Sharding 2017-03-06

      We no longer longer need to pass the config connection string in sharding commands to initiate the sharding state on sharding unaware shard servers. As of v3.4, shards are shard aware, and get the config connection string from the shard identity document stored on the shard servers. SERVER-27625 cleaned up the dead sharding initialization code via setShardVersion, but the config connection string command parameters still exist: these are unused and must be removed.

      On the config server, ShardRegistry::getConfigServerConnectionString() is used to provide the config connection string via ShardLocal::getConnString(), which gets it from the ReplicationCoordinator's ReplicaSetConfig, since config servers are always replica sets. We should only ever need to use the config connection string in one place on the config server, which is to create the shard identity document during addShard command execution. Therefore, since ShardLocal::getConnString() only has one user, creating the shard identity document will just go straight to the replication state.

            Assignee:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: