Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-12019

Make pre-fetching work with exclusive eviction

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT11.3.0, 7.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Storage Engines
    • 5
    • 2023-12-12 - Heisenbug

      There is a bug where internal pages are getting evicted despite having child pages that are still on pre-fetch queue. This bug has been observed with special operations which don't go through the normal eviction flow and forcibly remove contents from the cache. As a result, we skip the __evict_child_check function which prevents internal pages from being evicted if they have child pages on the pre-fetch queue, and hit an assertion that a ref on the pre-fetch queue does not have the WT_REF_FLAG_PREFETCH set as the ref has been freed accidentally.

      WT_ASSERT_ALWAYS(session, F_ISSET(pe->ref, WT_REF_FLAG_PREFETCH),
                "Any ref on the pre-fetch queue needs to have the pre-fetch flag set");
      

            Assignee:
            monica.ng@mongodb.com Monica Ng
            Reporter:
            monica.ng@mongodb.com Monica Ng
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: