[SERVER-85239] In classic_runtime_planner_for_sbe::CachedPlanner implement replanning for aggregation pipeline pushdown Created: 16/Jan/24  Updated: 01/Feb/24

Status: Open
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Ivan Fefer Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-85238 In classic_runtime_planner_for_sbe::C... Open
Assigned Teams:
Query Execution
Participants:
Story Points: 3

 Description   

If the query contains an aggregation pipeline, multi-planning will be used only for the “find” part of the query. However, we need to cache the whole query, as currently we can’t re-combine already prepared SBE plans and we can’t recover QuerySolutions from SBE plan cache entries.

For replanning, we need to track the number of documents that reached the aggregation pipeline, because aggregation pipelines can have stages that affect the number of documents unpredictably. For example, blocking stages like $group or stages that produce more documents like $unwind.


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