-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication, Sharding, Write Ops
-
Fully Compatible
-
Sharding 2020-10-19, Sharding 2020-11-02, Sharding 2020-11-16
-
0
This is analogous to updates changing the value under the current shard key pattern. Taking inspiration from WouldChangeOwningShard, one option is to introduce a new WouldChangeOwningRecipientShard error code. update_stage.cpp would throw a WouldChangeOwningRecipientShard exception to have the operation be retried as a delete + insert in a transaction. The exception could be handled in service_entry_point_common.cpp rather than bubbling all the way back to mongos. This is because the document being modified is still owned by the donor shard. Note that the case for WouldChangeOwningShard should therefore be checked before the case for WouldChangeOwningRecipientShard.
- causes
-
SERVER-52974 Checking if destined recipient has changed for resharding creates another full copy of the updated document
- Closed
- related to
-
SERVER-54040 Resharding may fail to throw WouldChangeOwningShard despite destined recipient having changed
- Closed
-
SERVER-52620 Update resharding_replicate_updates_as_insert_delete.js to use reshardCollection command
- Closed
-
SERVER-52683 Relax restrictions for updates to new shard key fields during resharding
- Closed