-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Fully Compatible
-
Sharding 2021-02-22, Sharding 2021-03-08, Sharding 2021-03-22, Sharding 2021-04-05
-
165
-
3
Introducing a separate command for users to cancel a resharding operation has advantages over hooking into the existing killOp command, namely customizing the error responses.
db.adminCommand({abortReshardCollection: "<database>.<collection>"});
- An error will be returned if the resharding operation can no longer be canceled due to the coordinator already having begun to instruct the recipient shards to rename the temporary resharding collection.
- An error will be returned if there's no resharding operation in progress for the namespace.
- On success, the abortReshardCollection command will have waited for the coordinator to have forgotten about the resharding operation. It is therefore possible to immediately run a new reshardCollection command after the abortReshardCollection succeeds.
- The abortReshardCollection command automatically implies writeConcern:majority.
- depends on
-
SERVER-54456 Fix resharding class mutex handling at time of PrimaryOnlyService instance completion
- Closed
- has to be done before
-
SERVER-55100 Test functionality of aborting a resharding operation while the critical section is held
- Closed
- is depended on by
-
SERVER-53923 Enforce reshardingCriticalSectionTimeout parameter
- Closed
-
SERVER-50694 Ensure that resharding operations have finished before beginning downgrade
- Closed
- is related to
-
SERVER-53792 Remove CoordinatorStateEnum::kError
- Closed
-
SERVER-54000 Make errors propagate from the ReshardingCoordinator to participants
- Closed
- related to
-
SERVER-61483 Resharding coordinator fails to recover abort decision on step-up, attempts to commit operation as success, leading to data inconsistency
- Closed
-
SERVER-55600 Indicate to resharding metrics system if a resharding operation has been cancelled
- Closed