diff options
author | Esha Maharishi <esha.maharishi@mongodb.com> | 2018-12-03 14:58:56 -0500 |
---|---|---|
committer | Esha Maharishi <esha.maharishi@mongodb.com> | 2018-12-10 12:56:54 -0500 |
commit | a3ed66ac2e610a2eb9dff192484f65860dda2ece (patch) | |
tree | 362fb4a3a1f2f06beb8795dceca73230e7214db7 | |
parent | ccc1c21f445de1e9076011f3e7370d30bec8c552 (diff) | |
download | mongo-a3ed66ac2e610a2eb9dff192484f65860dda2ece.tar.gz |
SERVER-37339 Sharding state is set to initialized on Grid before sharding components are fully initialized
(cherry picked from commit 26bad42994d1536f4d22aad47b0b537c3c5359b2)
-rw-r--r-- | src/mongo/db/db.cpp | 2 | ||||
-rw-r--r-- | src/mongo/db/s/sharding_initialization_mongod.cpp | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/db/db.cpp b/src/mongo/db/db.cpp index c53dfbb2e58..4630d4ceafe 100644 --- a/src/mongo/db/db.cpp +++ b/src/mongo/db/db.cpp @@ -563,6 +563,8 @@ ExitCode _initAndListen(int listenPort) { ShardingCatalogManager::create( startupOpCtx->getServiceContext(), makeShardingTaskExecutor(executor::makeNetworkInterface("AddShard-TaskExecutor"))); + + Grid::get(startupOpCtx.get())->setShardingInitialized(); } else if (replSettings.usingReplSets()) { // standalone replica set auto keysCollectionClient = stdx::make_unique<KeysCollectionClientDirect>(); auto keyManager = std::make_shared<KeysCollectionManager>( diff --git a/src/mongo/db/s/sharding_initialization_mongod.cpp b/src/mongo/db/s/sharding_initialization_mongod.cpp index 083b55d3227..9fd134e3a2a 100644 --- a/src/mongo/db/s/sharding_initialization_mongod.cpp +++ b/src/mongo/db/s/sharding_initialization_mongod.cpp @@ -131,6 +131,8 @@ void initializeShardingEnvironmentOnShardServer(OperationContext* opCtx, CatalogCacheLoader::get(opCtx).initializeReplicaSetRole(isStandaloneOrPrimary); ChunkSplitter::get(opCtx).setReplicaSetMode(isStandaloneOrPrimary); + Grid::get(opCtx)->setShardingInitialized(); + LOG(0) << "Finished initializing sharding components for " << (isStandaloneOrPrimary ? "primary" : "secondary") << " node."; } @@ -399,8 +401,6 @@ void initializeGlobalShardingStateForMongoD(OperationContext* opCtx, replCoord->getMemberState().primary()) { LogicalTimeValidator::get(opCtx)->enableKeyGenerator(opCtx, true); } - - Grid::get(opCtx)->setShardingInitialized(); } } // namespace mongo |