The new test in
WT-3452 has been showing a problem where it is missing a few records but then later records exist in the table after recovery. This is not using any timestamps. What I see is that the missing record is the last record written into the log before the new checkpoint_start record (from WT-3440).
What I believe is happening is that these records are written to the log first and then the checkpoint starts and writes its record after these records in the log, getting a later LSN. But the checkpoint doesn't write them out because the transactions are not yet resolved. After a crash, on recovery, we start at the checkpoint_start record, and never apply those, nor are they in the on-disk image.
I'm able to reproduce on develop in about 100 iterations. I'm attempting to reproduce on 2.9.3 release before the start record was introduced.