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

Implement history store verification



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


      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.


      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.


        Issue Links



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