Using the repro attached, when keys are not evicted, they remain in the insert list. When this is the case, the field cbt->tmp->data is not set and the condition added as part of
WT-8044 does not work as expected because it is NULL. When the keys are evicted, cbt->tmp->data is updated and the field can be used.
The field that seems to be always set whether the keys are in the inserted list or on disk is cbt->upd_value->buf. The suggested change is the following:
With this change, the issue does not reproduce.
EDIT: Seems that a better way to retrieve the key would be using wt_key_return
Definition of done:
- Check the reproducers and confirm the issue does not occur
- Modify the existing test_search_near02 so we also do the test when keys are not evicted