-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Cache and Eviction, Reconciliation
-
Storage Engines
-
(copied to CRM)
-
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.