Fix divide-by-zero in PCI patch by jbellis for CASSANDRA-6403
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e44d5d4f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e44d5d4f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e44d5d4f Branch: refs/heads/trunk Commit: e44d5d4f363a96c9401d726c207ba3cdf6f3d24f Parents: 02a9302 Author: Jonathan Ellis <jbel...@apache.org> Authored: Sat Nov 23 19:31:16 2013 -0600 Committer: Jonathan Ellis <jbel...@apache.org> Committed: Sat Nov 23 19:31:16 2013 -0600 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../org/apache/cassandra/db/compaction/CompactionController.java | 4 ++-- .../cassandra/db/compaction/ParallelCompactionIterable.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e44d5d4f/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index e85ba23..77d2841 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.0.4 + * Fix divide-by-zero in PCI (CASSANDRA-6403) * Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e44d5d4f/src/java/org/apache/cassandra/db/compaction/CompactionController.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionController.java b/src/java/org/apache/cassandra/db/compaction/CompactionController.java index 3ab2202..7edc60e 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionController.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionController.java @@ -135,8 +135,8 @@ public class CompactionController } else { - logger.debug("Dropping expired SSTable {} (maxLocalDeletionTime={}, gcBefore={})", - candidate, candidate.getSSTableMetadata().maxLocalDeletionTime, gcBefore); + logger.debug("Dropping expired SSTable {} (maxLocalDeletionTime={}, gcBefore={})", + candidate, candidate.getSSTableMetadata().maxLocalDeletionTime, gcBefore); } } return new HashSet<SSTableReader>(candidates); http://git-wip-us.apache.org/repos/asf/cassandra/blob/e44d5d4f/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java index 8a74fea..fdddc4b 100644 --- a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java +++ b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java @@ -56,7 +56,7 @@ public class ParallelCompactionIterable extends AbstractCompactionIterable public ParallelCompactionIterable(OperationType type, List<ICompactionScanner> scanners, CompactionController controller) { - this(type, scanners, controller, DatabaseDescriptor.getInMemoryCompactionLimit() / scanners.size()); + this(type, scanners, controller, DatabaseDescriptor.getInMemoryCompactionLimit() / (scanners.isEmpty() ? 1 : scanners.size())); } public ParallelCompactionIterable(OperationType type, List<ICompactionScanner> scanners, CompactionController controller, int maxInMemorySize)