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

Set the oldest timestamp of the checkpoint when it is finished

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT10.0.0, 4.4.2, 4.8.0
    • Component/s: None
    • Labels:
      None
    • Story Points:
      3
    • Sprint:
      Storage - Ra 2020-08-24, Storage - Ra 2020-09-07, Storage - Ra 2020-09-21

      Description

      The history verification failure in WT-6467 is caused by the following case:

      Suppose we have an update chain like:

      T@100 -> U@80 -> U@60 and the stable timestamp is 120 and the oldest timestamp is 40.

      Eviction writes T@100 -> U@80 to the data store and U@60 to the history store.

      Checkpoint starts at stable timestamp 120 and oldest timestamp 40.

      oldest timestamp is moved to 100

      Eviction or checkpoint comes to that page again and remove that key from the page as it has a tombstone now is globally visible.

      We open the database in backup again with stable timestamp 120 and oldest timestamp 40. We see U@60 in the history store but T@100 -> U@80 is missing from the data store.

      This issue doesn't impact mongodb currently as mongodb doesn't query historical data at restart. However, it is blocking us from merging the rts-test-format branch back into develop so we need to address it soon.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              chenhao.qu Chenhao Qu
              Reporter:
              chenhao.qu Chenhao Qu
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: