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

Implement history store verification

    • 8
    • StorEng - 2023-02-07, 2023-02-23 "Stoney Baloney", 2023-03-21 Ellen Ripley, 2023-04-04 Bibbidi-Bobbidi-Boo

      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.

            Assignee:
            etienne.petrel@mongodb.com Etienne Petrel
            Reporter:
            chenhao.qu@mongodb.com Chenhao Qu
            Clarisse Cheah
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: