[SERVER-85240] Correctly fill rejectedPlans and allPlansExecution when using classic multi-planner with SBE Created: 16/Jan/24 Updated: 06/Feb/24 |
|
| Status: | In Code Review |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Ivan Fefer | Assignee: | Daniel Segel |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Query Execution
|
||||||||
| Sprint: | QE 2024-02-05, QE 2024-02-19 | ||||||||
| Participants: | |||||||||
| Story Points: | 1 | ||||||||
| Description |
|
When making the transition from Classic runtime planner to SBE, we need to preserve planning information to support “rejectedPlans” and “allPlansExecution” fields of “explain” command output. Explain is powered by the PlanExplainer interface. Because in Classic all planning is mixed in with execution, Classic’s PlanExplainerImpl only needs a pointer to the runtime planning stage, used for planning, to provide “explain” command output. So when creating PlanExplainerSBE we need to pass MultiPlanStage to it. |