diff options
author | Ben Caimano <ben.caimano@10gen.com> | 2019-03-29 12:01:50 -0400 |
---|---|---|
committer | Ben Caimano <ben.caimano@10gen.com> | 2019-04-01 16:13:04 -0400 |
commit | cbe3968ce01e4a749756422893b7274100675705 (patch) | |
tree | 6b881bba7e2c0ae53d5964e1f452b1a115c86d9c /src | |
parent | 6803c64d71c1104634a9dc18e8e9d368ed6be228 (diff) | |
download | mongo-cbe3968ce01e4a749756422893b7274100675705.tar.gz |
SERVER-40387 Shutdown shard registry after catalog cache
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/s/sharding_initialization_mongod.cpp | 1 | ||||
-rw-r--r-- | src/mongo/s/server.cpp | 4 | ||||
-rw-r--r-- | src/mongo/s/sharding_mongod_test_fixture.cpp | 4 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/db/s/sharding_initialization_mongod.cpp b/src/mongo/db/s/sharding_initialization_mongod.cpp index d7897df0c79..c331d15c3aa 100644 --- a/src/mongo/db/s/sharding_initialization_mongod.cpp +++ b/src/mongo/db/s/sharding_initialization_mongod.cpp @@ -165,6 +165,7 @@ void ShardingInitializationMongoD::shutDown(OperationContext* opCtx) { grid->getExecutorPool()->shutdownAndJoin(); grid->catalogClient()->shutDown(opCtx); + grid->shardRegistry()->shutdown(); } bool ShardingInitializationMongoD::initializeShardingAwarenessIfNeeded(OperationContext* opCtx) { diff --git a/src/mongo/s/server.cpp b/src/mongo/s/server.cpp index acf643ad1c7..0dd4621f8c6 100644 --- a/src/mongo/s/server.cpp +++ b/src/mongo/s/server.cpp @@ -230,6 +230,10 @@ void cleanupTask(ServiceContext* serviceContext) { catalog->shutDown(opCtx); } + if (auto shardRegistry = Grid::get(opCtx)->shardRegistry()) { + shardRegistry->shutdown(); + } + #if __has_feature(address_sanitizer) // When running under address sanitizer, we get false positive leaks due to disorder around // the lifecycle of a connection and request. When we are running under ASAN, we try a lot diff --git a/src/mongo/s/sharding_mongod_test_fixture.cpp b/src/mongo/s/sharding_mongod_test_fixture.cpp index 0b2a1a2711e..06081591f0c 100644 --- a/src/mongo/s/sharding_mongod_test_fixture.cpp +++ b/src/mongo/s/sharding_mongod_test_fixture.cpp @@ -297,6 +297,10 @@ void ShardingMongodTestFixture::tearDown() { Grid::get(operationContext())->catalogClient()->shutDown(operationContext()); } + if (Grid::get(operationContext())->shardRegistry()) { + Grid::get(operationContext())->shardRegistry()->shutdown(); + } + Grid::get(operationContext())->clearForUnitTests(); _opCtx.reset(); |