Currently, the BatchWriteExecutor's retry logic for StaleShardVersion handling repeats the entire entry from the batch. This works correctly for batch entries, which contain a shard key, because they go to a single shard. However, for batch entries, which are part of a multi-update, this causes the successful shards to be repeated.
This ticket is about introducing a map, which tracks on which shard a batch entry has succeeded, so that a retry won't send it there. It is a prerequisite for enabling SERVER-44598.
- causes
-
SERVER-47233 WriteOp can be left in pending state, leading to erroneous NoProgressMade write error from mongos
- Closed
- is depended on by
-
SERVER-44598 Shards do not treat the IGNORED version as "intended sharded"
- Closed