[SERVER-17651] Lazily generate CanonicalQuery plan cache key Created: 18/Mar/15  Updated: 03/Jun/15  Resolved: 03/Jun/15

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

Type: Improvement Priority: Major - P3
Reporter: J Rassi Assignee: Unassigned
Resolution: Done Votes: 0
Labels: neweng
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Participants:

 Description   

CanonicalQuery generates the plan cache key for the underlying query in the CanonicalQuery::init(). This is an expensive operation that is performed unnecessarily for CanonicalQuery objects that never have their plan cache key examined (see example in exec/sort.cpp).

Instead, plan cache key generation should happen lazily on the first call to CanonicalQuery::getPlanCacheKey(). The first call to this method should save the generated cache key in the _cacheKey member variable for later retrieval.



 Comments   
Comment by J Rassi [ 03/Jun/15 ]

Closing as "Gone Away", as the member variable CanonicalQuery::_cacheKey was removed in SERVER-17659.

Comment by Ramon Fernandez Marina [ 25/Apr/15 ]

Ongoing work on SERVER-17659 may make this ticket obsolete. We'll update this ticket as soon as we have more information as SERVER-17659 develops.

Comment by Ramon Fernandez Marina [ 22/Apr/15 ]

Thanks for taking the time to submit a pull request ParadoxMeltdown. There's some ongoing work in this area, so we need to evaluate whether your pull request goes in the same direction. Please watch this ticket for updates.

Regards,
Ramón.

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