[SERVER-80563] Push $unwind aggregation stage down to SBE Created: 30/Aug/23  Updated: 06/Nov/23  Resolved: 02/Nov/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.2.0-rc0

Type: Improvement Priority: Major - P3
Reporter: Kevin Cherkauer Assignee: Kevin Cherkauer
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
Backwards Compatibility: Fully Compatible
Participants:
Linked BF Score: 155

 Description   

Planner Updates

Update planner to push down $unwinds in eligible prefixes.
 

Stage Builder Updates

Update stage builder to build pushed-down $unwind stages.

 
SBE Plan Cache

Encode pushed down $unwind stages in the plan cache key (canonical_query_encoder.cpp encodePipeline()).'

 
Update Existing Jstests

Many tests examine explain output, some instances of which will change when $unwind is pushed down so will need alternate expected results based on featureFlagSbeFull during development. The old expected results will be removed along with featureFlagSbeFull when the feature is complete.



 Comments   
Comment by Githook User [ 02/Nov/23 ]

Author:

{'name': 'Kevin Cherkauer', 'email': 'kevin.cherkauer@mongodb.com', 'username': 'kevin-cherkauer'}

Message: SERVER-80563 Push $unwind aggregation stage down to SBE
Branch: master
https://github.com/mongodb/mongo/commit/b31df3d20a1323f48fb03e228cb5b193c77194ea

Generated at Thu Feb 08 06:43:54 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.