-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
Problem
Query planner relies on these methods from IndexCatalogEntry to prepare IndexEntry in QueryPlannerParams.
However, if an index is corrupted as in HELP-65833 where isMultikey() may return false while getMultikeyPaths() returns a non-empty vector, a query planner may and hence produce incorrect results.
Action Item
- When preparing IndexEntry, if isMultikey() return false, also checks getMultikeyPaths() to see if it returns empty array. If not, set IndexEntry::isMultikey to true.
- Log whenever it observes multikey path inconsistency from IndexCatalogEntry.
- is related to
-
SERVER-96032 Add safety check for `multikey` flag and `multikeyPath` values consistency in the local catalog
- Needs Scheduling