-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Engines - Transactions
-
13.136
-
None
-
None
WT-18204 added follower-side reader threads to test/format that hold a snapshot transaction open and verify repeated scans and point lookups return identical rows, catching snapshot-isolation violations across disaggregated checkpoint pickups.
The verification only relies on snapshot isolation, nothing disaggregated-specific: any snapshot transaction must see stable keys and values for its whole lifetime. Generalize it into a background thread that runs in every test/format configuration (standalone, leader, follower), opening a snapshot transaction and re-reading the same rows for a few seconds before moving to a new position.
Notes:
- The worker threads' own repeatable-read checks (snap.c) cover reads within operational transactions; the background verifier adds long-lived read-only transactions that overlap checkpoints, eviction, compaction and (on followers) checkpoint pickups.
- Reads without a read timestamp exercise the strictest form of the invariant; timestamped variants could be added for configurations without timestamps.
- Suggested by Siddhartha Sankaran in the review of the WT-18204 stress test (PR #14320).