diff options
author | Esha Maharishi <esha.maharishi@mongodb.com> | 2016-05-25 17:01:10 -0400 |
---|---|---|
committer | Esha Maharishi <esha.maharishi@mongodb.com> | 2016-06-10 16:19:42 -0400 |
commit | 1e26998e7fda52c226385fae4069ebbc384c294a (patch) | |
tree | fb26938216376e21a295c9163ac53a80b43d8d8f /src/mongo/s/client/shard_registry.cpp | |
parent | f3f756132c74c1b44696d30faf6ef806fc7de860 (diff) | |
download | mongo-1e26998e7fda52c226385fae4069ebbc384c294a.tar.gz |
SERVER-24126 Add step to _cfgsvrAddShard command where it inserts the shardIdentity document to the new shard
Diffstat (limited to 'src/mongo/s/client/shard_registry.cpp')
-rw-r--r-- | src/mongo/s/client/shard_registry.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/s/client/shard_registry.cpp b/src/mongo/s/client/shard_registry.cpp index fb9339b660c..11f0e7e7c2c 100644 --- a/src/mongo/s/client/shard_registry.cpp +++ b/src/mongo/s/client/shard_registry.cpp @@ -39,6 +39,7 @@ #include "mongo/client/connection_string.h" #include "mongo/client/replica_set_monitor.h" #include "mongo/s/catalog/catalog_manager.h" +#include "mongo/s/catalog/type_config_version.h" #include "mongo/s/catalog/type_shard.h" #include "mongo/s/client/shard.h" #include "mongo/s/client/shard_connection.h" @@ -59,9 +60,12 @@ using std::string; using std::unique_ptr; using std::vector; +// TODO SERVER-23096: Initializing an empty _clusterId is a temporary hack. The _clusterId should +// be queried from the config servers on sharding initialization and passed to the ShardRegistry +// constructor. ShardRegistry::ShardRegistry(std::unique_ptr<ShardFactory> shardFactory, const ConnectionString& configServerCS) - : _shardFactory(std::move(shardFactory)), _data() { + : _shardFactory(std::move(shardFactory)), _clusterId(), _data() { _initConfigServerCS = configServerCS; } @@ -69,6 +73,10 @@ ConnectionString ShardRegistry::getConfigServerConnectionString() const { return getConfigShard()->getConnString(); } +const OID& ShardRegistry::getClusterId() const { + return _clusterId; +} + void ShardRegistry::rebuildConfigShard() { _data.rebuildConfigShard(_shardFactory.get()); invariant(_data.getConfigShard()); |