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

Set the oldest timestamp of the checkpoint when it is finished

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

      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.

            chenhao.qu@mongodb.com Chenhao Qu
            chenhao.qu@mongodb.com Chenhao Qu
            0 Vote for this issue
            8 Start watching this issue