-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2025-02-17, CAR Team 2025-03-03, CAR Team 2025-03-17
The Range Preserver object is installed behind an Ownership Filter attribute located on the collection acquisition. Since the Ownsership Filter is only instantiated when the targeted collection is sharded, the Range Preserver is not being installed for unsharded collections.
This can potentially lead to returing incomplete results when a query starts while the collection is unsharded, but, right after, the collection becomes sharded and a chunk is moved to a different shard.
To avoid similar bugs in the future, we should ensure all the queries have a Range Preserver assigned to them, even when the collection is unsharded.
To ensure all the queries have a RangePreserver, we’ll instantiate and return an Ownership Filter from the CSR whenever the read concern isn’t ‘snapshot’ or ‘available’.
- is depended on by
-
SERVER-64128 Investigate behavior when query against unsharded collection runs concurrently with shardCollection and moveChunk
-
- Blocked
-