-
Type:
Task
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Replication
-
None
-
None
-
None
-
None
-
None
-
None
-
None
It seems like the only reason we're using UninterruptibleLockGuard in the TransactionParticipant is to make sure that killop can't potentially screw up prepared transactions.
However the use of UninterruptibleLockGuard makes that area of code harder to think about, and also forces the need for Intent::BlockingWrite in the intent registration model (Intent::BlockingWrite is the intent registration analog of UninterruptibleLockGuard).
If the sole use of UninterruptibleLockGuard in the TransactionParticipant is to help with killop, then we should try implementing that functionality in some other way. And ideally we also get rid of Intent::BlockingWrite as an intent altogether.
- is depended on by
-
SERVER-112011 Remove Intent::BlockingWrite after UninterruptibleLockGuard is gone
-
- Blocked
-
- is related to
-
SERVER-38190 killOp while committing a prepared transaction can trigger std::terminate
-
- Closed
-
-
SERVER-90799 Remove the usage of UninterruptibleLockGuard in the IndexBuildsCoordinator
-
- Backlog
-