Tighten cancellation guard in MigrationDestinationManager abort

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • Fully Compatible
    • ALL
    • ClusterScalability 8Jun-22June
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      From kCommitStart onward, the migrate thread may be inside acquireRecoverableCriticalSectionBlockWrites. Cancelling the opCtx there interrupts the acquisition mid-flight and leaves a stale recovery document. The donor then loops indefinitely retrying _recvChunkReleaseCritSec, which always fails with "Recipient migration recovery document still exists.

       

      The previous guard (_state < kEnteredCritSec) was too wide. Tighten to _kCommitStart.

            Assignee:
            Kruti Shah
            Reporter:
            Kruti Shah
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: