-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2024-10-28, CAR Team 2024-11-11, CAR Team 2024-11-25
-
2
The changes from b8e050a as part of SERVER-67529 changed the implementation of ChunkRange::containsKey() to support shard key values of the form {sk: MaxKey}. However, after some code inspection, it appears there are multiple functions defined separately from ChunkRange for comparing shard key values and are no longer consistent with the new definition of ChunkRange::containsKey(). Some examples of these other function definitions include:
- isShardKeyValueInRange() in migration_chunk_cloner_source.cpp
- isInRange() in migration_destination_manager.cpp
Having multiple function definitions is problematic because it means some aspects of sharding may handle MaxKey appropriately and other aspects may not in a way which isn't predictable.
- is related to
-
SERVER-67529 Resharding silently skips documents with all MaxKey values for their fields under the new shard key pattern
- Closed