Concurrency tests for refining a collection shard key should be added to verify a refine atomically takes effect and does not interfere with concurrent chunk operations.
In particular, workloads should be added that:
- Repeatedly refine a collections shard key with concurrent CRUD ops, verifying the ops always return the expected results
- Repeatedly refines a shard key with concurrent chunk operations (moveChunks, splitChunks, and mergeChunks) in addition to concurrent CRUD ops.
In addition to the default concurrency suites, these workloads should run in suites with the balancer enabled and failovers. It should be verified that the balancer will actually attempt to move chunks, possibly enforced by inserting enough data to imbalance the cluster, beginning with lopsided zones, and/or adding fsm stages that explicitly wait for a balancer round.
- has to be done after
-
SERVER-42143 Convert refineCollectionShardKey metadata updates to use a single RS transaction
- Closed
- is duplicated by
-
SERVER-43684 Include name of collection in the assertion messages in random_moveChunk_broadcast_[delete|update]_transaction.js
- Closed