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

Make TenantMigrationAccessBlocker::setCommitOpTime and setAbortOpTime not try to set completion promise if it is already set

    • Fully Compatible
    • ALL
    • Sharding 2021-02-08
    • 10

      Due to risks of deadlock, TenantMigrationAccessBlocker::setCommitOpTime and setAbortOpTime both release the lock after setting _commitOpTime and _abortTime and reacquire the lock after getting committed snapshot opTime. Based on BF-19903, TenantMigrationAccessBlocker::onMajorityCommitPointUpdate by the ReplicationCoordinator thread so setCommitOpTime and setAbortOpTime could end up trying to set the completion promise after it has already been set. For more details, please see the comment in BF-19903.

            Assignee:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Reporter:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: