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

Mark the page clean after re-instantiating the page with prepared updates.

    • Storage Engines
    • 8
    • 나비 (nabi) - 2024-04-16, Nick - 2024-04-30
    • v8.0, v7.3, v7.0, v6.0

      We had an issue that we are doing dirty evictions on the same set of pages without any progress. This is because we have the WT_CACHE_EVICT_SCRUB eviction on and the pages have prepared updates on them.

      The scrub eviction will load back the pages to memory after eviction and thus not reducing the in-memory footprint. When we load the page back into the memory, we need to reinstantiate the prepared updates to the update chain and mark them as dirty. The following eviction then will do reconciliation on the same page again burning CPU for no use. This cycle goes on and on until the prepared updates are committed or we have more dirty content to clear the WT_CACHE_EVICT_SCRUB flag.

      Edit: The scope of the ticket is to mark the page clean after re-instantiating the page with prepared updates because the data is already written to the disk, so we can mark the page clean to avoid reconciling the page every time.

        1. Screenshot 2024-04-09 at 11.40.18 am.png
          381 kB
          Ravi Giri
        2. Screenshot 2024-04-12 at 1.13.24 pm.png
          237 kB
          Ravi Giri

            Assignee:
            ravi.giri@mongodb.com Ravi Giri
            Reporter:
            chenhao.qu@mongodb.com Chenhao Qu
            Votes:
            1 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated:
              Resolved: