Ensure ReshardingCoordinator's _flushReshardingStateChanges for CoordinatorStateEnum::kPreparingToDonate isn't interrupted on abort

XMLWordPrintableJSON

    • Fully Compatible
    • ALL
    • v5.0
    • Sharding 2021-05-31
    • 149
    • 1
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The ReshardingCoordinator's _cancelableOpCtxFactory should be tied to the stepdownToken instead of the abortToken when it flushes its transition to kPreparingToDonate to participants (and then swapped back to be tied to the abortToken immediately after).

      Context:
      Resharding donor and recipient machine creation depend on the ReshardingCoordinator's _flushReshardingStateChanges to succeed when the coordinator transitions to kPreparingToDonate. Right now, if an abort comes in while the flushes are in progress, the operation context tied to _cancelableOpCtxFactory will be interrupted upon the abortToken's cancelation.

      Without participant machine creation, the coordinator can hang after transitioning to kError

       

              Assignee:
              Haley Connelly
              Reporter:
              Haley Connelly
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: