-
Type: New Feature
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Internal Code
-
Fully Compatible
-
v3.4
-
Sharding 2017-04-17
-
0
During shutdown, mongod and mongos call ServiceContext::setKillAllOperations to prevent new operations from meaningfully starting, and to interrupt existing running operations. Unfortunately, the latter class of operation may not be interrupted if they're blocked in an interruptible condition variable wait because setKillAllOperations does not wake such threads.
ServiceContext::setKillAllOperations should be replaced with a behavior that more aggressively prevents the creation of new OperationContexts (say by throwing in their constructor) as well as sending kill messages to running operations.
- is duplicated by
-
SERVER-27900 Shutdown can get stuck behind any thread doing ShardRegistry::reload
- Closed