As part of WT-7757, we added an optimization to skip the deleted pages visible in the current transaction based on the aggregated time window on the page. This comparison can go wrong when there exist updates on the page that need to be visible to the current transaction snapshot. This kind of scenario is possible when the transactions are committed out of order.
- Txn - 10 has removed a key -1 on page-1.
- Txn - 11 has removed the remaining keys on page-1.
- Txn - 11 committed.
- A reader has started with a snapshot where Txn-10 is not committed.
- The reader session performing a search on page-1 can return the key-1.
- Txn -10 committed.
- The reader session performing a search on page-1 can return the key-1.
- Eviction evicted the page-1 to disk, this will generate the aggregate time window with the newest start txn as 11 (maximum transaction id on the page -1).
- The reader session performing a search on page-1 doesn't return key-1 as we skip page-1 as txn-11 is visible to the reader snapshot.