Consolidate index DDL plan cache/PathArrayness function calls into a single query-owned function

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Optimization
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Index DDL paths in the catalog/storage layer (e.g. MultiIndexBlock::commit, IndexBuildBlock, IndexCatalogImpl::dropIndexEntry/refreshEntry, primary_driven::commit) currently call multiple separate query-owned functions to keep query plan cache and PathArrayness consistent with the set of the indexes.

      The query-owned functions are:

      We also have 2 functions that are called in the case where a document write flips multikeyness. These need to be distinct due to the different semantics in this case (see SPM-3143 for more info)

      Note: This multikey flip from document write may be tricky to consoliate and could require a follow-on ticket/different API.

      This leaks query implementation details into catalog/storage layers is error-prone since it is very easy to miss one function call, e.g. during refactors.

      The main goal of this ticket is to consolidate these distinct calls into a single query-owned function that can be called from the catalog/storage layers while preserving the existing behavior.

            Assignee:
            Naafiyan Ahmed
            Reporter:
            Naafiyan Ahmed
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: