-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
For nested aggregates in a sharded cluster which feature stages like $lookup, we often wind up acquiring multiple CollectionRoutingInfo objects (once at the top level and again when checking the shardedness of the inner collections. On its own, this isn't a problem because usually these involve different collections (so, conceptually, separate CollectionRoutingInfo objects) and ultimately the checks are used to inform routing decisions (that is, choosing the 'wrong' host should mean that we get a suboptimal, but not incorrect, plan). However, there are a few cases that could be pose a problem
- Cases where the target collection is the same as the inner collection
- Cases where we have different collections, but which have the same database (i.e. all $lookup queries). This a problem potentially because the DBversion can change, between checks, indicating either a new owning shard for an unsplittable collection, or that the db was dropped and recreated.
This ticket tracks the work to investigate whether the cases described above can hit crashes or incorrect query results.
- is related to
-
SERVER-102925 Replace direct CatalogCache accesses in the sharded aggregation code with the RoutingContext
-
- Closed
-
-
SERVER-90517 mongos should authoritatively know whether a db exists or not
-
- Needs Scheduling
-
- related to
-
SERVER-90517 mongos should authoritatively know whether a db exists or not
-
- Needs Scheduling
-