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.
- is depended on by
-
SERVER-56288 Don't wait for participant machine creation in resharding_abort_command.js
- Closed
- related to
-
SERVER-67457 Resharding operation aborted in the midst of contacting participants may stall on config server primary indefinitely
- Closed