Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-16659

Investigate changes in SERVER-80226: Change $LU feature flag from requiresSbeFull to requiresTrySbe

      Original Downstream Change Summary

      When server parameter 'internalQueryFrameworkControl' is set to 'trySbeEngine', $lookup-$unwind (aka $LU) macro stages will be executed in SBE instead of Classic execution engine. An $LU stage is specified by the query optimizer when a $lookup aggregation stage is immediately followed by an $unwind stage that unwinds the $lookup's "as" output array. The $LU macro stage produces the effect of a SQL join, where each inner matching document is returned as a stand-alone value in the "as" field of its own copy of the outer document. Execution of $LU stages is optimized to avoid materializing the entire inner match array, so the stage is not subject to failing due to this array being larger than the 16 MB BSON object size limit due to many inner matches for a single outer document.

      Description of Linked Ticket

      Change $LU pushdown to SBE from requiresSbeFull to requiresTrySbe. (Standalone $unwind will remain under requiresSbeFull.) Remove all TODO SERVER-80226 markers from code and tests.

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              10 weeks, 6 days ago