As part of WT-5441, I noticed that we're unable to find keys in the history store due to a visibility issue.
To aid garbage collection, we're inserting tombstones after each lookaside insert to represent the stop timestamp of the value. When reading with a history store cursor, we use "read uncommitted" isolation which means that we will only see tombstones. In general, we're unable to even position the cursor since not even a single key in the history store table is visible to us.
The proposed solution is to open history store cursors from the user session (and therefore inherit their transaction id, timestamp and isolation level). When it comes to modifies, we'll have to do something interesting and repeatedly reset the read timestamp to be able to see subsequent keys.
- causes
-
WT-5766 Separate out internal and shared transaction data
- Closed