Wrong corner case in VLCS rollback-to-stable

XMLWordPrintableJSON

    • None
    • None

      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...

            Assignee:
            Haribabu Kommi
            Reporter:
            David Holland
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: