During the investigation of the issue WT-10469 where the test test_hs11 is able to find the updates in the history store that shouldn't exist.
The modification of the test_hs11 test to let the no timestamp tombstone as not globally visible leads to a PANIC failure of reconcilation failed after building the disk image.
The scenario to reproduce the problem is as follows:
- Insert 4 updates to a key.
- Updates 1-3 will go to the history store and 4 will go to the datastore after a checkpoint-1.
- Eviction occurred removed the page.
- Insert another update at timestamp 5 and remove it at timestamp 0.
- Start a long running transaction to not let the remove globally visible.
- As part of the checkpoint-2, it removes all the updates from the history store from 1-3.
- But this checkpoint inserts the new history store update 4 that was written to the disk in checkpoint-1 and tombstone to the data store.
- Close the long running transaction.
- Evict all the pages from memory.
- Insert another update at timestamp 10.
- Perform the checkpoint. As part of this checkpoint, we wait for the eviction to clean some dirty content.
- This eviction will write data at timestamp 10 to disk and restore the existing tombstone 0 from the data store and move it to the history store.
- This tombstone is at timestamp 0, so moving it will remove all the existing history store entries that is data at timestamp 4.
- This triggers the panic error.