[SERVER-16894] MultiPlanStage/SubplanStage should be dismantled, moved to plan ranker Created: 16/Jan/15  Updated: 06/Dec/22

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

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

Assigned Teams:
Query Execution
Participants:

 Description   

The execution stages MultiPlanStage and SubplanStage exist as hacks to help the query engine pick the best choice out of a set of query solutions. These stages should not exist. Instead, the query planner should be given explicit access to a piece of machinery that takes a set of query solutions, creates a PlanExecutor for each, runs each for a trial period, and makes a decision on which is the best one. The plan ranker should be expanded to include this machinery.

The dependency of the query planner on the query execution subsystem reflects the reality of the query engine's trial-based planning model. If the number of calls that the query planner makes into the query execution subsystem is sufficiently contained, then they will be easy to remove once the query engine is rewritten to accommodate a stats-based planning model.



 Comments   
Comment by J Rassi [ 18/Feb/15 ]

Same with CachedPlanStage.

Generated at Thu Feb 08 03:42:37 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.