Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-90802

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

    • 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.

            Assignee:
            jiawei.yang@mongodb.com Jiawei Yang
            Reporter:
            george.wangensteen@mongodb.com George Wangensteen
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: