From 238139cda53eae51516c477f7ac10c5397df02a4 Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Tue, 6 Aug 2013 16:55:20 -0500 Subject: [PATCH] catch all Throwables, not just Exceptions --- CHANGES.txt | 4 ++++ .../org/apache/cassandra/db/compaction/CompactionTask.java | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 69df3de7d2..75b349fa38 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +1.1.next + * Backport compaction exception handling from 1.2 + + 1.1.12 * Remove buggy thrift max message length option (CASSANDRA-5529) * Add retry mechanism to OTC for non-droppable_verbs (CASSANDRA-5393) diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java index 02d20cf3ec..b467a2f2d4 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.util.*; import com.google.common.base.Predicates; +import com.google.common.base.Throwables; import com.google.common.collect.Iterators; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -188,7 +189,7 @@ public class CompactionTask extends AbstractCompactionTask for (SSTableWriter completedWriter : writers) sstables.add(completedWriter.closeAndOpenReader(maxAge)); } - catch (Exception e) + catch (Throwable t) { for (SSTableWriter writer : writers) writer.abort(); @@ -198,7 +199,7 @@ public class CompactionTask extends AbstractCompactionTask sstable.markCompacted(); sstable.releaseReference(); } - throw FBUtilities.unchecked(e); + throw Throwables.propagate(t); } finally {