Exclude lookup_query_stats.js from aggregation_dependency_graph_validation_passthrough suite

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • 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

            Assignee:
            Cian Nugent McGealy
            Reporter:
            Cian Nugent McGealy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: