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

IndexCatalog::refreshEntry should invalidate the index from the CollectionInfoCache

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.2.0-rc3, 4.3.1, 4.0.20, 3.6.20
    • Affects Version/s: 4.2.0-rc0
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • v4.2, v4.0, v3.6
    • Execution Team 2019-07-01
    • 61

      Normally, when an index is dropped, it is also invalidated in the CollectionInfoCache.

      It looks like refreshEntry, which is used by collMod, will delete the IndexCatalogEntry, but never invalidates the index from the cache. This means that the cache may still attempt to use a refreshed index because it is not aware the original index entry was ever deleted.

      We should call CollectionInfoCache::droppedIndex to ensure the query planner does not try to use a cached index that has been refreshed with refreshEntry.

            Assignee:
            maria.vankeulen@mongodb.com Maria van Keulen
            Reporter:
            louis.williams@mongodb.com Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: