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

During Compaction, Corrupt SSTables with rows that cause failures should be identified and blacklisted.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 1.1.1
    • None

    Description

      When a compaction of a set of SSTables fails because of corruption it will continue to try to compact that SSTable causing pending compactions to build up.

      One way to mitigate this problem would be to log the error, then identify the specific SSTable that caused the failure, subsequently blacklisting that SSTable and ensuring that it is no longer included in future compactions. For this we could simply store the problematic SSTable's name in memory.

      If it's not possible to identify the SSTable that caused the issue, then perhaps blacklisting the (ordered) permutation of SSTables to be compacted together is something that can be done to solve this problem in a more general case, and avoid issues where two (or more) SSTables have trouble compacting a particular row. For this option we would probably want to store the lists of the bad combinations in the system table somewhere s.t. these can survive a node failure (there have been a few cases where I have seen a compaction cause a node failure).

      Attachments

        1. CASSANDRA-2261-v3.patch
          17 kB
          Pavel Yaskevich
        2. 2261-v2.patch
          15 kB
          Benjamin Coverston
        3. 2261.patch
          25 kB
          Benjamin Coverston

        Activity

          People

            xedin Pavel Yaskevich
            bcoverston Benjamin Coverston
            Pavel Yaskevich
            Brandon Williams
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: