Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-63401

Audit callers of IndexAccessMethod::asSortedData()

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 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.

            Assignee:
            henrik.edin@mongodb.com Henrik Edin
            Reporter:
            mathias@mongodb.com Mathias Stearn
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: