Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-14766

DESC order reads can fail to return the last Unfiltered in the partition in a legacy sstable

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Urgent
    • Resolution: Fixed
    • 3.0.18, 3.11.4
    • Local/SSTable
    • None
    • Correctness - Transient Incorrect Response
    • Critical
    • Challenging
    • Fuzz Test

    Description

      OldFormatDeserializer’s hasNext() method can and will consume two Unfiltered from the underlying iterator in some scenarios - intentionally.

      But in doing that it’s losing intermediate state of lastConsumedPosition. If that last block, when iterating backwards, only has two Unfiltered, the first one will be returned, and the last one won’t as the reverse iterator would incorrectly things that the deserisalizer is past the index block, despite still having one Unfiltered unreturned.

      Attachments

        Activity

          People

            aleksey Aleksey Yeschenko
            aleksey Aleksey Yeschenko
            Aleksey Yeschenko
            Benedict Elliott Smith, Sam Tunnicliffe
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: