When WiredTiger starts evicting using the lookaside table, it makes a choice about whether to "skew newest" or "skew oldest". That determines whether the versions of data written to data files reflects the most recent commit or only stable data (older than the oldest timestamp).
Checkpoints test each page reference in cache with lookaside history to determine whether the version written to disk matches what checkpoint would write. If not, checkpoint has to reinstantiate the page and write the correct version.
The skew decision depends on whether a "stable_timestamp" has been set (among other things): the reasoning was that if the stable timestamp is lagging, checkpoint is likely to choose the oldest versions of data when writing pages. Now that MongoDB master is setting a stable timestamp, revisit performance tests that stress lookaside eviction and determine whether the skew choice is optimal.
- causes
-
SERVER-36496 Cache pressure issues during oplog replay in initial sync
- Closed
- related to
-
WT-4125 Ensure that subsequent checkpoints with stable timestamp don't read too much
- Closed