diff options
author | Haley Connelly <haley.connelly@mongodb.com> | 2020-03-31 17:57:38 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-04-01 19:42:53 +0000 |
commit | 08351c1b12f3ca5c9ab99b6628e27d2083278011 (patch) | |
tree | 783ca1cb083bdbd10a9ca5b29b3ae9b55e9dbefc /src/mongo/db/s/sharding_initialization_mongod.cpp | |
parent | af7f1e3a778a201a4bd6a372eb441b0f73b9c2ba (diff) | |
download | mongo-08351c1b12f3ca5c9ab99b6628e27d2083278011.tar.gz |
SERVER-47169 Call ShardRegistry::updateReplSetHosts() synchronously
Diffstat (limited to 'src/mongo/db/s/sharding_initialization_mongod.cpp')
-rw-r--r-- | src/mongo/db/s/sharding_initialization_mongod.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mongo/db/s/sharding_initialization_mongod.cpp b/src/mongo/db/s/sharding_initialization_mongod.cpp index 8e8a35de617..741ead68a8b 100644 --- a/src/mongo/db/s/sharding_initialization_mongod.cpp +++ b/src/mongo/db/s/sharding_initialization_mongod.cpp @@ -101,10 +101,20 @@ public: // Update the shard identy config string void onConfirmedSet(const State& state) noexcept final { + auto connStr = state.connStr; + try { + LOGV2(471691, + "Updating the shard registry with confirmed replica set", + "connectionString"_attr = connStr); + Grid::get(_serviceContext)->shardRegistry()->updateReplSetHosts(connStr); + } catch (const ExceptionForCat<ErrorCategory::ShutdownError>& e) { + LOGV2(471692, "Unable to update the shard registry", "error"_attr = e); + } + Grid::get(_serviceContext) ->getExecutorPool() ->getFixedExecutor() - ->schedule([serviceContext = _serviceContext, connStr = state.connStr](Status status) { + ->schedule([serviceContext = _serviceContext, connStr](Status status) { if (ErrorCodes::isCancelationError(status.code())) { LOGV2_DEBUG(22067, 2, @@ -120,7 +130,6 @@ public: "Updating config server with confirmed replica set {connectionString}", "Updating config server with confirmed replica set", "connectionString"_attr = connStr); - Grid::get(serviceContext)->shardRegistry()->updateReplSetHosts(connStr); if (MONGO_unlikely(failUpdateShardIdentityConfigString.shouldFail())) { return; |