-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
ALL
-
QO 2023-08-21, QO 2023-09-04
-
163
The combination of SERVER-78507 and SERVER-78508 results in the RIDIntersect implementor creating two alternatives when optimizing with RemoveOrphansRequirement: (1) delegate RemoveOrphansRequirement to the left child and (2) delegate it to the right child (MemoLogicalDelegator). These rewrites are added to the queue with the same priority and thus removed from the queue in an non-deterministic order.
After SERVER-78507, we are able to optimize SargableNodes with complete/seek requirements + RemoveOrphanRequirement, which means that we attempt to generate alternatives which generates projection names. Depending on the order the alternatives are considered, the projection names we generate will be different.
This goal of this ticket is to refactor the affected tests to only assert on the relevant parts of the plan, to be robust to this non-determinism.
- related to
-
SERVER-80277 [CQF] Make plan selection as deterministic (repeatable) as possible
- Closed