Version 10.0.0
Eviction (Architecture Guide)
Data StructuresSource Location
WT_EVICT_ENTRY
WT_EVICT_QUEUE
src/include/cache.h
src/evict/

Eviction represents the process or removing old data from the cache, writing it to disk if it is dirty. The general strategy uses a dedicated set of eviction threads that are tasked with identifying candidate data. If the data needs to be written, it is reconciled (converting the in-memory format to on-disk format), and then written. Clean memory can be freed if needed.

Eviction cannot be triggered directly by API calls, but happens as a result of enough data being dirtied.

Eviction is managed using WT_EVICT_QUEUE structures, each of which contains a list of WT_EVICT_ENTRY structures.