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

Checkpoints can lose information

    • Type: Icon: Task Task
    • Resolution: Done
    • WT2.2
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      I have been running a new checkpoint test that verifies checkpoints by populating multiple tables with the same data. Then periodically checkpointing and verifying that all files have identical content.

      The test code is currently in pull request WT-959 - which is against the checkpoint-optimizations branch, but this issue is reproducible in the develop branch.

      The issue manifests as an error from the test code of the form:

      Key mismatch 1752007 from a ROW table is not 1934748 from a ROW table
      

      This means that one table has key 1752007 from a

      Unable to find source-code formatter for language: cursor. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      ->next

      , and the other got a 1934748. The expectation is that both values are the same.

      After some debugging it appears as though:

      • The checkpoint on disk is also "missing" the data
      • The data is present in the table if read without a checkpoint
      • The same error occurs whether using a named or default checkpoint
      • There are no obvious memory corruptions leading to this issue
      • Looking at the internal tree structure in memory - it doesn't appear corrupted (this is also repeatable if opening another cursor on the same table/checkpoint, you'll see identical data)
      • This issue doesn't appear to be present in the 2.1.2 release - pointing towards a change in the new-split branch.

            Assignee:
            alexander.gorrod@mongodb.com Alexander Gorrod
            Reporter:
            alexander.gorrod@mongodb.com Alexander Gorrod
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: