diff options
author | Ben Caimano <ben.caimano@10gen.com> | 2019-07-31 11:51:52 -0400 |
---|---|---|
committer | Ben Caimano <ben.caimano@10gen.com> | 2019-07-31 13:59:54 -0400 |
commit | d72a385ade40cec9731242af52228ba279765711 (patch) | |
tree | 3d4787c172b9ef30c23185ddb28e171f313121bf /src/mongo/client/replica_set_monitor_manager.cpp | |
parent | 5a0476d730f5efa09cc20dd7dcea03cb96450e76 (diff) | |
download | mongo-d72a385ade40cec9731242af52228ba279765711.tar.gz |
SERVER-42501 ReplicaSetMonitorManager::shutdown() logs sparingly
Diffstat (limited to 'src/mongo/client/replica_set_monitor_manager.cpp')
-rw-r--r-- | src/mongo/client/replica_set_monitor_manager.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mongo/client/replica_set_monitor_manager.cpp b/src/mongo/client/replica_set_monitor_manager.cpp index 94aa109ad26..1dacf288c9d 100644 --- a/src/mongo/client/replica_set_monitor_manager.cpp +++ b/src/mongo/client/replica_set_monitor_manager.cpp @@ -154,6 +154,11 @@ void ReplicaSetMonitorManager::removeMonitor(StringData setName) { } void ReplicaSetMonitorManager::shutdown() { + // Sadly, this function can run very late in the post-main shutdown because there is still + // a globalRSMonitorManager. We have to be very carefully how we log because this can actually + // shutdown later than the logging subsystem. This will be less of an issue once SERVER-42437 is + // done. + decltype(_monitors) monitors; { stdx::lock_guard<stdx::mutex> lk(_mutex); @@ -164,7 +169,9 @@ void ReplicaSetMonitorManager::shutdown() { monitors = std::exchange(_monitors, {}); } - log() << "Dropping all ongoing scans against replica sets"; + if (monitors.size()) { + log() << "Dropping all ongoing scans against replica sets"; + } for (auto& [name, monitor] : monitors) { auto anchor = monitor.lock(); if (!anchor) { |