Remove the use of UninterruptibleLockGuard in OplogBatcher, ReplicationCoordinator, and ReplicationCoordinatorExternalState

XMLWordPrintableJSON

    • Replication
    • Fully Compatible
    • Repl 2024-06-10
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

              Assignee:
              Jiawei Yang
              Reporter:
              George Wangensteen (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: