Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-3499

Checkpoint can miss not yet committed item

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.2.17, 3.4.9, 3.5.12, WT3.0.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Storage 2017-08-21
    • v3.4, v3.2

      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.

            sue.loverso@mongodb.com Susan LoVerso
            sue.loverso@mongodb.com Susan LoVerso
            0 Vote for this issue
            7 Start watching this issue