-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Replication
-
Fully Compatible
-
ALL
-
QE 2025-08-04, QE 2025-08-18, Repl 2025-09-01
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
During shutdown, exceptions thrown from the ~LastOpFixer destructor (marked noexcept) via setLastOpToSystemLastOpTimeIgnoringCtxInterrupted may lead to process termination if the OperationContext is not marked as interrupted. The current implementation rethrows exceptions like InterruptedAtShutdown unless the opCtx shows an interrupt, causing fatal crashes in destructor calls. The proposal is to catch and handle all exceptions in the Interruption category within setLastOpToSystemLastOpTimeIgnoringCtxInterrupted to safely ignore these during destruction. An alternative could involve ensuring the OperationContext is interrupted before exceptions are thrown, but input from the replication team is needed. Further clarification is requested on whether similar exceptions can be thrown by replCoord->getLatestWriteOpTime(opCtx).