-
Type: Task
-
Resolution: Unresolved
-
Priority: Minor - P4
-
Affects Version/s: None
-
Labels:
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.
- documents
-
SERVER-80226 Change $LU feature flag from requiresSbeFull to requiresTrySbe
- Closed