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

Fix RTS to use cell time window instead of key/value timestamps of HS update

    • 5
    • Storage Engines - 2022-06-27, Storage Engines - 2022-07-11
    • v6.0, v5.0, v4.4

      Rollback to stable aborts the unstable updates in the datastore and replaces them with a stable update from the history store. As part of this process, RTS takes the decision of the history store update visibility based on the timestamps stored in the HS key/value.

      Reading these values to decide visibility can go wrong when the history store update is removed with a globally visible tombstone either due to no timestamp update rewriting the history store or an earlier rollback to stable remove operation.

      Reading these keys whenever a globally visible tombstone is present as part of the RTS causes problems in restoring a wrong update/tombstone that leads to the entire key removal.

        1. WT-9500-missing-global-visible-tombstone-1.jpg
          42 kB
          Haribabu Kommi
        2. WT-9500-missing-global-visible-tombstone-2.jpg
          62 kB
          Haribabu Kommi
        3. WT-9500-missing-global-visible-tombstone-3.jpg
          71 kB
          Haribabu Kommi
        4. WT-9500-missing-global-visible-tombstone-4.jpg
          69 kB
          Haribabu Kommi
        5. WT-9500-missing-global-visible-tombstone-5.jpg
          45 kB
          Haribabu Kommi
        6. WT-9500-missing-global-visible-tombstone-6.jpg
          65 kB
          Haribabu Kommi

            haribabu.kommi@mongodb.com Haribabu Kommi
            haribabu.kommi@mongodb.com Haribabu Kommi
            0 Vote for this issue
            19 Start watching this issue