[SERVER-80756] [CQF] Expose physical ABT in queryPlanner explain for M2 Created: 05/Sep/23  Updated: 15/Nov/23  Resolved: 10/Nov/23

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

Type: Task Priority: Major - P3
Reporter: Hana Pearlman Assignee: Militsa Sotirova
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-80542 [CQF] Implement explain for M2 based ... Open
Related
is related to SERVER-82870 [CQF] Can projection names in explain... Backlog
is related to SERVER-82874 [CQF] Update server params list in ex... Backlog
is related to SERVER-82875 [CQF] Ensure explain output matches s... Backlog
is related to SERVER-82879 [CQF] Respect the internalQueryExplai... Backlog
is related to SERVER-83284 [CQF] Separate user-facing explain fr... Backlog
is related to SERVER-82869 [CQF] Clean up explain helpers use of... Closed
is related to SERVER-82871 [CQF] Add/remove fields for CQF expla... Closed
is related to SERVER-82873 [CQF] Update parsedQuery field Closed
is related to SERVER-83054 [CQF] Remove CE and costEstimate from... Closed
Assigned Teams:
Query Optimization
Backwards Compatibility: Fully Compatible
Sprint: QO 2023-10-02, QO 2023-10-16, QO 2023-10-30, QO 2023-11-13
Participants:

 Description   

This ticket exposes the physical ABT in the queryPlanner output under winningPlan.queryPlan. This may involve adding a new version to the optimizer::ExplainVersion enum. It also adds the queryFramework field to the explain output if the framework used was CQF. It also takes care of EOF stage plans (for example, query on an empty collection).

 

Follow up work, which has been split off into tickets linked to this one, includes but is not limited to:

  • Expose the physical ABT in the queryPlanner output under winningPlan.queryPlan. This may involve adding a new version to the optimizer::ExplainVersion enum.
  • Investigate whether projection names in explain plans can be "descriptive" (see internalCascadesOptimizerUseDescriptiveVarNames)
  • Omit the classic-only fields from the queryPlanner output
  • Add CQF-specific fields to the output, such as maxPartialSchemaReqCountReached.
  • Update the parsedQuery field to include the input query passed to the ABT translation component 
  • Ensure the server parameters list includes internalQueryCardinalityEstimatorMode and internalQueryFrameworkControl – possibly this should wait until we have a decision on exposing "bonsai"
  • Bump the explain version to v3
  • As a final check: ensure the explain output matches the examples in the syntax document


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

Author:

{'name': 'Militsa Sotirova', 'email': 'militsa.sotirova@mongodb.com', 'username': 'militsasotirova'}

Message: SERVER-80756 Expose physical ABT in M2 explain
Branch: master
https://github.com/mongodb/mongo/commit/4cf2ec98fca42d3d698ee7042e9bbd662da182fd

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