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

Wrong corner case in VLCS rollback-to-stable

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Minor - P4
    • Resolution: Fixed
    • None
    • WT10.0.1, 5.0.4, 4.4.10, 5.2.0, 5.1.0-rc0
    • None
    • None

    Description

      It turns out that it's not sufficient to skip iterating a column-store cell (one with more than one key because the RLE count > 0) just because there's at least one stable update for some key in the cell.

      This is true in a fully timestamped world (in a fully timestamped world, a stable update must be newer than the on-disk value) but breaks down if the stable update in question has no timestamp. Then it guarantees nothing about the on-disk value, so it might not be stable and still need to be processed. One can only skip the iteration if every key in the cell has a stable update (fortunately this is easy to determine) and then when iterating one must check each key's update list separately, because calling the downstream code for handling on-disk values if there actually is a stable update can cause it to do the wrong thing.

      Fix coming right up...

      Attachments

        Activity

          People

            haribabu.kommi@mongodb.com Haribabu Kommi
            dholland+wt@sauclovia.org David Holland
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: