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

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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Fix Version/s: 2.0.7, 2.1 beta2
    • Component/s: None
    • Labels:
      None
    • Severity:
      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

            • Assignee:
              aleksey Aleksey Yeschenko
              Reporter:
              aleksey Aleksey Yeschenko
              Authors:
              Aleksey Yeschenko
              Reviewers:
              Sylvain Lebresne
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: