-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Sharding EMEA
-
Fully Compatible
-
ALL
-
Sharding EMEA 2022-12-26
If moveChunk is sent with maxTimeMS, the following scenario can occur:
1. The config server sends moveChunk to the shard. The shard starts running it.
2. The config server hits maxTimeMS, which then causes it to fail to delete the relevant config.migrations doc, which happens in the destructor of the object created here, since the OperationContext has been interrupted.
If the config server gets another moveChunk attempt for that range, it will fail with DuplicateKeyError on config.migrations. config.migrations is keyed on namespace and the min value of the range being moved, so this will happen indefinitely for any chunk with the same min value.
- is related to
-
SERVER-60922 Use `config.migrations` to persist the command recovery documents generated by BalancerCommandsScheduler.
- Closed
- related to
-
SERVER-48153 Chunk migration can still be running even after the moveChunk command fails with maxTimeMS timeout
- Backlog