-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Checkpoints
-
Storage Engines - Persistence
-
408.116
-
SE Persistence backlog
-
None
When precise checkpoint is enabled and eviction uses the checkpoint snapshot as its visibility bound (see WT-17680), checkpoint can skip reconciling any page whose last reconciliation was performed by eviction under the same checkpoint snapshot and whose rec_pinned_stable_timestamp is consistent with that snapshot.
Motivation
Eviction and checkpoint both reconcile pages. When eviction has already reconciled a page using the same checkpoint snapshot, checkpoint would produce an identical on-disk result — the work is redundant. Detecting and skipping these pages reduces the total amount of reconciliation checkpoint must perform, lowering its I/O cost and wall-clock time, particularly under workloads with high eviction rates.
Proposed Change
Track whether a page was last reconciled by eviction under the active checkpoint snapshot (e.g. via a generation counter or snapshot ID stamped on the page after eviction reconciliation). During checkpoint's page walk, if a page carries that stamp and its rec_pinned_stable_timestamp matches the checkpoint's stable timestamp, checkpoint can mark the page clean and skip re-reconciling it.
Acceptance Criteria
- Checkpoint correctly skips pages reconciled by eviction under the matching snapshot without loss of durability.
- No correctness regression: all data visible as of the checkpoint must be recoverable after restart.
- Checkpoint I/O and duration decrease measurably under eviction-heavy workloads with precise checkpoint enabled.
- depends on
-
WT-17680 Use checkpoint snapshot for eviction when precise checkpoint is enabled
-
- Open
-