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

Expired cells not converted to deleted cells during cleanup/scrub/compaction (sometimes)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 2.0.7, 2.1 beta2
    • None
    • None
    • Normal

    Description

      On read path, we intentionally read expiring cells as expiring cells, never converting them to tombstones, to return consistent results to the clients.

      For compaction/cleanup/scrub we don't care about that, and are supposed to make the conversion as an optimization. However, somewhere along the way it got lost, and SSTII doesn't always do it now in 2.0 (and never does it in 2.1).

      SSTI.getColumnFamilyWithColumns() passes the correct expireBefore(), but SSTI.next() does not, and while we use both in 2.0, depending on the some factors, in 2.1 we only use SSTI.next(), and SSTI.getColumnFamilyWithColumns() is actually dead code (I will remove it during the 2.1 merge).

      Attachments

        1. 6844.txt
          0.9 kB
          Aleksey Yeschenko

        Activity

          People

            aleksey Aleksey Yeschenko
            aleksey Aleksey Yeschenko
            Aleksey Yeschenko
            Sylvain Lebresne
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: