findAndModify command is not able to detect stale shard version and as a result can update the wrong shard if the chunk on the shard that it has cached has been moved via a moveChunk command from different mongoS.
Current test jstests/sharding/find_and_modify_after_multi_write.js masks the issue by executing findOne just before calling findAndModify. findOne updates the ssv on the connection.
The new ClusterClientCursor code path does not set ssv per connection and hence will invalidate the existing workaround.
- is duplicated by
-
SERVER-20634 Mongo 3.0.5 might lose update operation on record if update operations occur during shard data migration
- Closed