[SERVER-59854] Remove PlanCacheIndexabilityState from the PlanCache Created: 09/Sep/21  Updated: 29/Oct/23  Resolved: 24/Sep/21

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

Type: Task Priority: Major - P3
Reporter: Anton Korshunov Assignee: Anton Korshunov
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-59681 Start storing SBE plans in the new p... Closed
Backwards Compatibility: Fully Compatible
Sprint: QO 2021-09-20, QO 2021-10-04
Participants:

 Description   

As part of this task we should:

  1. Make index discriminators that we store within the PlanCache as part of PlanCacheIndexabilityState available outside of the PlanCache. That would mean moving PlanCacheIndexabilityState into CollectionQueryInfo.
  2. Refactor PlanCache and remove any references to CanonicalQuery.
  3. Change the classic PlanCacheKey implementation so that it can be constructed from a CanonicalQuery and a Collection and change the call sites to construct and pass a PlanCacheKey rather than a CanonicalQuery to the PlanCache API.


 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 24/Sep/21 ]

Author:

{'name': 'Ruoxin Xu', 'email': 'ruoxin.xu@mongodb.com', 'username': 'RuoxinXu'}

Message: SERVER-59854 Remove PlanCacheIndexabilityState from the PlanCache
This patch includes a number of changes to facilitate the use of PlanCacheIndexabilityState with SBE and classic plan cache keys.

  • Introduced a plan cache key factory.
  • Moved PlanCacheIndexabilityState from the PlanCache into CollectionQueryInfo.
  • Templetized QueryPlanner::planSubqueries() so it can be used with classic and SBE plan caches.
  • Removed dependency on the CanonicalQuery from the PlanCache class.

Co-authored-by: Anton Korshunov <anton.korshunov@mongodb.com>
Branch: master
https://github.com/mongodb/mongo/commit/634867703b7eb40f073198d27633a7c5506e4604

Generated at Thu Feb 08 05:48:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.