-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:None
-
Execution Team 2022-04-04, Execution Team 2022-04-18, Execution Team 2022-05-02, Execution Team 2022-05-16, Execution Team 2022-05-30
As part of SERVER-63251, I moved all of the SortedData specific functionality from IndexAccessMethod down to SortedDataIndexAccessMethod. Callers that use that functionality make use of a named down-cast method called asSortedData(). That is fine for now since all indexes are still based on SortedData, however that won't be true for very long. We will need to audit all callers to verify if they are only expected to work with SortedData-based indexes or if they are intended to work with any kind of index. Non-exhaustive list of examples:
- SortedData-specific:
- All query stages that access existing indexes (non-SortedData indexes will use different query stages)
- Everything related to multikey and uniqueness (at least for now, these are SortedData-specific things)
- Anything that is specific to the _id index (it needs to be SortedData)
- General:
- Everything related to validation
- Somewhat in between (these are SortedData-specific, but we will probably want something similar for other index kinds):
- IndexBuildIntercepter
- SortedDataInterfaceThrottleCursor
We won't need to consider any calls from C++ test code since tests control which indexes they create and won't suddenly start needing to work with other types of indexes. However, we may want to do a pass to see if the test is trying to test something that we where would want coverage for non-SortedData indexes.