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

      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: