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

Implement history store verification

    XMLWordPrintableJSON

Details

    • Task
    • Status: In Progress
    • Major - P3
    • Resolution: Unresolved
    • None
    • None
    • None
    • StorEng - Refinement Pipeline

    Description

      It would be useful for WiredTiger to validate/verify the data in a file along with the file's entries in the history store. The basic idea would be to have a function that is part of WT_SESSION::verify() and walks the contents of a file and its history together checking invariants. Ideally this can be done in such a way that it is trivial to add new variants.

      Off the top of my head some possible invariants:

      • If a key exists in the history store, it must also exist in the data file
      • At most one value for a key can be visible at any timestamp.

      Background

      A form of this functionality was implemented during the durable history project. It was commented out because of WT-6676, which was fixed as part of WT-8447. This ticket was originally created to re-enable initial history verification code. But over time the initial history store verification bit-rotted as the code around it changed, and it was removed from the develop branch in WT-8572. That code might be a good starting point for this work. It can be found in the PR for WT-8572.

      Attachments

        Issue Links

          Activity

            People

              monica.ng@mongodb.com Monica Ng
              chenhao.qu@mongodb.com Chenhao Qu
              Clarisse Cheah
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: