-
Type:
Improvement
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Concurrency
-
None
-
None
-
0
-
None
-
None
-
None
-
None
-
None
-
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
-