Investigate apparent regression in classic engine IDHACK (SERVER-68110)

[SERVER-73910] Streamline index and plan selection for IDHACK Created: 10/Feb/23  Updated: 29/Oct/23  Resolved: 03/Mar/23

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

Type: Sub-task Priority: Major - P3
Reporter: Colin Stolley Assignee: Colin Stolley
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: QE 2023-05-15
Participants:

 Description   

IDHACK plans do not need to be cached, and so do not require a plan cache key. Currently we create the key every time whether it's needed or not, for every query. In v5.0 we avoided creating the plan cache key unless it was needed, and we can do that again to save some cycles.

indexEntryFromIndexCatalogEntry() can also be sped up by avoiding (among other things) checking for multikeyPaths when converting an Id index. Multikey checks require taking locks and other things that are expensive if not needed.

See src/mongo/db/query/get_executor.cpp for both.



 Comments   
Comment by Githook User [ 03/Mar/23 ]

Author:

{'name': 'Colin Stolley', 'email': 'colin.stolley@mongodb.com', 'username': 'ccstolley'}

Message: SERVER-73910: Streamline index and plan selection for IDHACK
Branch: master
https://github.com/mongodb/mongo/commit/b6e0c259dea71e6b09b81b5984a01d385e89b677

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