-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
ALL
-
-
CAR Team 2026-06-22
-
🟥 DDL
-
None
-
None
-
None
-
None
-
None
-
None
When a DDL operation needs to stop migrations, it sends a setAllowChunkOperations command to every shard at the beginning of the operation to disable migrations, and sends the same command again at the end to re-enable them.
For a single setAllowChunkOperations command, the behavior is as follows:
- (A) If the CSR is authoritative and the current shard does not own any chunks, do nothing.
- (B) If the CSR is authoritative and the current shard owns chunks, update both the durable shard catalog and the CSR with the new allowChunkOperations value.
- (C) If the CSR is non-authoritative, installs the CSR only if the shard owns chunks.
The problem is that in step (C) the CSR is incorrectly being installed on secondaries regardless of whether the shard owns chunks, meaning that if it doesn't own chunk it's allowChunkOperations flag will remain as false.