-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Test Format
-
None
-
Storage Engines, Storage Engines - Transactions
-
0.04
-
SE Transactions - 2026-07-31
-
3
Test format's multi-node disaggregated mode runs all its transactions with timestamps, so nothing in the stress exercised the reads WT-18156's stable bind checks protect: transactional snapshot reads without a read timestamp on a follower, racing checkpoint pickups.
Add reader threads to the follower process that hold an untimestamped snapshot for several seconds while checkpoints stream underneath (the snapshot configuration now checkpoints every few seconds), re-reading a scan from a random position through freshly opened cursors and repeating the reads as point lookups, failing on any key, value, or row-count change. A refused or conflicted read abandons the transaction and retries. Add a long-running Evergreen task running the multi-node snapshot configuration with randomized settings.
Notes from developing the reproducer:
- The follower replays the whole workload into its ingest tables, so a reader's pinned older ingest version masks a leaked stable update; detection rides on inserts and removes, which have no older version to hide behind.
- The leader's checkpoint cadence bounds the pickup rate, which bounds how often reader transactions span an adoption.
Verified to fail on a tree without the WT-18156 fix ("snapshot key changed within a transaction") and to run clean with it.
- is related to
-
WT-18156 Follower checkpoint pickup breaks snapshot isolation for untimestamped readers
-
- In Progress
-
-
WT-18207 Run a background repeated-read snapshot verifier in all test/format configurations
-
- Open
-
- related to
-
WT-18207 Run a background repeated-read snapshot verifier in all test/format configurations
-
- Open
-