-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
Fully Compatible
-
ALL
-
QE 2026-07-06
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The `aggregation_dependency_graph_validation_passthrough` suite (introduced in SERVER-125083) injects `$_internalAssertDataAssumptions` stages before pipeline stages where the dependency graph reports a field as non-array (`canPathBeArray() == false`). This stage has no SBE lowering, so the SBE pushdown prefix scan in `getNumSbeCompatibleStagesForPushdown()` halts on it, preventing subsequent stages from being pushed down to SBE.
As a result, `$lookup` runs in the classic engine, which uses a nested-loop join strategy (`NestedLoopJoin`) rather than the SBE `IndexedLoopJoin`. The test's assertions on query stats — which assume SBE execution — diverge from the classic-engine values, causing `lookup_query_stats.js` to fail.
This is the same class of problem that caused the existing exclusion of `sbe_pushdown_replan_reason.js` (SERVER-127292). The test was not excluded when the suite was introduced.
Fix: exclude `lookup_query_stats.js` from the suite. The long-term fix — making `$_internalAssertDataAssumptions` transparent to SBE pushdown — is tracked in SERVER-127292
Linked BF: BF-44133
- is related to
-
SERVER-125083 Introduce a new jstest suite for testing the dependency graph
-
- Closed
-
-
SERVER-127292 Make $_internalValidateArrayness transparent to SBE pushdown
-
- Backlog
-