Investigate why hybrid aggregate / SBE queries do not report spills

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      While enabling $lookup-$unwind pushdown into SBE, the jstests/core/query/release_memory/hash_lookup_unwind.js test started failing its spill assertions when a $project stage is present after $lookup + $unwind. The failure manifests as:

      {{uncaught exception: Error: 0 is not less than 0 }}

      on the following assertion:   assert.lt(initialSpillCount, getSpillCounter());

      The test works as expected both when running with trySbeEngine (when $project is pushed down as well and we're executing a query only plan) and when we comment out the $project stage. The problem seems to only appear when we're executing the $project in the aggregation layer, and the EQ_LOOKUP_UNWIND in SBE. 

            Assignee:
            Foteini Alvanaki
            Reporter:
            Catalin Sumanaru
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: