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

Anticompaction not removing old sstables

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 2.1.14
    • None
    • None
    • 2.1.13

    • Normal

    Description

      1. 12/29/15 https://issues.apache.org/jira/browse/CASSANDRA-10831
      Moved markCompactedSSTablesReplaced out of the loop ```for (SSTableReader sstable : repairedSSTables)```

      2. 1/18/16 https://issues.apache.org/jira/browse/CASSANDRA-10829
      Added unmarkCompacting into the loop. ```for (SSTableReader sstable : repairedSSTables)```

      I think the effect of those above change might cause the markCompactedSSTablesReplaced fail on

      DataTracker.java

                 assert newSSTables.size() + newShadowed.size() == newSSTablesSize :
                      String.format("Expecting new size of %d, got %d while replacing %s by %s in %s",
                                newSSTablesSize, newSSTables.size() + newShadowed.size(), oldSSTables, replacements, this);
      

      Since change CASSANDRA-10831 moved it out. This AssertError won't be caught, leaving the oldsstables not removed. (Then this might cause row out of order error when doing incremental repair if there are L1 un-repaired sstables.)

      Attachments

        Activity

          People

            ruoranwang Ruoran Wang
            ruoranwang Ruoran Wang
            Ruoran Wang
            Paulo Motta
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: