summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEsha Maharishi <esha.maharishi@mongodb.com>2018-12-03 14:58:56 -0500
committerEsha Maharishi <esha.maharishi@mongodb.com>2018-12-10 12:56:54 -0500
commita3ed66ac2e610a2eb9dff192484f65860dda2ece (patch)
tree362fb4a3a1f2f06beb8795dceca73230e7214db7
parentccc1c21f445de1e9076011f3e7370d30bec8c552 (diff)
downloadmongo-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.cpp2
-rw-r--r--src/mongo/db/s/sharding_initialization_mongod.cpp4
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