-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
Replication
-
Fully Compatible
-
Repl 2024-06-10
We'd like to remove the UninterruptibleLockGuard because it is error-prone and adds complexity.
Three pieces of replication code use the ULG today:
- The oplog applier batcher uses it to do a read of the oplog to check it's max size before batch application
- the replication coordinator uses to guarantee re-acquisition on the RSTL on the event of stepdown failure
- the replication coordinator external state uses it to make storing the local last vote document uninterruptible
We'd like to remove these usages to remove the ULG entirely.
- is depended on by
-
SERVER-68868 Remove all instances of UninterruptibleLockGuard
- Blocked
-
SERVER-90804 Remove UninterruptibleLockGuard and InterruptibleLockGuard
- Closed
- is related to
-
SERVER-91733 Remove the use of UninterruptibleLockGuard in ReplicationCoordinatorExternalState
- Open