QueryPlannerParams should not maintain pointers owned by the IndexCatalogEntry

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Optimization
    • ALL
    • QO 2025-02-17
    • None
    • 3
    • TBD
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The QueryPlannerParams contains a CollectionInfo object which stores index information. The IndexEntry class stores some pointers taken from the IndexCatalogEntry class.

      If that IndexCatalogEntry is invalidated (likely due to a refreshEntry call) then these pointers will become invalid once the last reference to this shared state is released. This means that if there is a yield in the query which is using these QueryPlannerParams, the IndexCatalogEntry could be destroyed and some of the IndexEntry will become invalid.

        1. diff.patch
          5 kB
        2. SERVER-105873 potential repro.txt
          536 kB

              Assignee:
              Unassigned
              Reporter:
              Allison Easton
              Votes:
              0 Vote for this issue
              Watchers:
              18 Start watching this issue

                Created:
                Updated: