-
Type: Improvement
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Concurrency
-
None
The execution of OperationContext::checkForInterrupt() is currently independent of whether true or false is passed for the "heedMutex" argument ("heedMutex" is only observed if Client::hasWrittenSinceCheckPoint() is true, but it is never true since Client::writeHappened() is no longer called). The "heedMutex" argument should be removed.
It used to be the case that "heedMutex" controlled whether or not an operation was interruptible after its first write; since writes could not be rolled back, it was important to forbid interrupting partially-completed writes. Now that writes always happen in rollback-enabled containers (WriteUnitOfWork), it should always be safe to interrupt writes.
- duplicates
-
SERVER-14062 Remove the global OperationContext registry
- Closed
- is related to
-
SERVER-15996 Unify implementation and error code usage of checkForInterrupt and checkForInterruptNoAssert
- Closed
-
SERVER-16001 Interrupting DBDirectClient operations should be disallowed
- Closed