-
Type: Bug
-
Resolution: Works as Designed
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
ALL
-
Service Arch 2022-09-19, Service Arch 2022-10-03, Service Arch 2022-10-17
-
151
During shutdown, we first set the global kill flag and then mark each operation context as killed. In OperationContext::checkForInterruptNoAssert, we return InterruptedAtShutdown if the global kill flag is set. However, we do not mark the operation context as killed from here. This means that if an operation explicitly checks for interrupts and we get an interleaving where this occurs between the two steps in ServiceContext::setKillAllOperations, that operation will get an InterruptedAtShutdown exception with the operation context not (yet) marked as killed.
- depends on
-
SERVER-70010 Stop using getKillStatus to check for OperationContext interruption.
- Closed
- related to
-
SERVER-68808 Catch CancellationError in ReplClientInfo
- Closed
-
SERVER-69505 Temporarily allow InterruptedAtShutdown error code during index build cleanup
- Closed
-
SERVER-69593 Temporarily allow InterruptedAtShutdown error code in OplogCapMaintainerThread
- Closed
-
SERVER-69839 Complete TODO listed in SERVER-69496
- Closed
-
SERVER-69504 Leave index build phase intact upon exception during collection scan
- Closed