You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2012/03/30 16:55:57 UTC
[5/8] git commit: Fix total bytes count for parallel compaction
Fix total bytes count for parallel compaction
patch by slebresne; reviewed by jbellis for CASSANDRA-3758
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3931ee70
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3931ee70
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3931ee70
Branch: refs/heads/trunk
Commit: 3931ee709da29d3b9d9c28b8d0ef34cfdb357c1c
Parents: 7326ba8
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Fri Mar 30 16:19:27 2012 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Fri Mar 30 16:19:27 2012 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../db/compaction/AbstractCompactionIterable.java | 13 +++++++++++--
.../db/compaction/CompactionIterable.java | 7 +------
.../db/compaction/ParallelCompactionIterable.java | 4 +---
4 files changed, 14 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 3316e87..438bc91 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -15,6 +15,7 @@
tasks and upgradesstables (CASSANDRA-3985)
* fix NPE on invalid CQL delete command (CASSANDRA-3755)
* allow custom types in CLI's assume command (CASSANDRA-4081)
+ * Fix totalBytes count for parallel compactions (CASSANDRA-3758)
1.0.8
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
index 53b1ba9..3182219 100644
--- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
+++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
@@ -41,15 +41,24 @@ public abstract class AbstractCompactionIterable implements Iterable<AbstractCom
protected final OperationType type;
protected final CompactionController controller;
- protected long totalBytes;
+ protected final long totalBytes;
protected volatile long bytesRead;
+ protected final List<SSTableScanner> scanners;
protected final Throttle throttle;
- public AbstractCompactionIterable(CompactionController controller, OperationType type)
+ public AbstractCompactionIterable(CompactionController controller, OperationType type, List<SSTableScanner> scanners)
{
this.controller = controller;
this.type = type;
+ this.scanners = scanners;
+ this.bytesRead = 0;
+
+ long bytes = 0;
+ for (SSTableScanner scanner : scanners)
+ bytes += scanner.getFileLength();
+ this.totalBytes = bytes;
+
this.throttle = new Throttle(toString(), new Throttle.ThroughputFunction()
{
/** @return Instantaneous throughput target in bytes per millisecond. */
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
index 5e0dfa7..65e4b54 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
@@ -41,7 +41,6 @@ public class CompactionIterable extends AbstractCompactionIterable
private static Logger logger = LoggerFactory.getLogger(CompactionIterable.class);
private long row;
- private final List<SSTableScanner> scanners;
private static final Comparator<IColumnIterator> comparator = new Comparator<IColumnIterator>()
{
@@ -58,12 +57,8 @@ public class CompactionIterable extends AbstractCompactionIterable
protected CompactionIterable(OperationType type, List<SSTableScanner> scanners, CompactionController controller)
{
- super(controller, type);
- this.scanners = scanners;
+ super(controller, type, scanners);
row = 0;
- totalBytes = bytesRead = 0;
- for (SSTableScanner scanner : scanners)
- totalBytes += scanner.getFileLength();
}
protected static List<SSTableScanner> getScanners(Iterable<SSTableReader> sstables) throws IOException
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3931ee70/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 dba8f55..52f81e0 100644
--- a/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
+++ b/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
@@ -59,7 +59,6 @@ public class ParallelCompactionIterable extends AbstractCompactionIterable
{
private static Logger logger = LoggerFactory.getLogger(ParallelCompactionIterable.class);
- private final List<SSTableScanner> scanners;
private final int maxInMemorySize;
public ParallelCompactionIterable(OperationType type, Iterable<SSTableReader> sstables, CompactionController controller) throws IOException
@@ -74,8 +73,7 @@ public class ParallelCompactionIterable extends AbstractCompactionIterable
protected ParallelCompactionIterable(OperationType type, List<SSTableScanner> scanners, CompactionController controller, int maxInMemorySize)
{
- super(controller, type);
- this.scanners = scanners;
+ super(controller, type, scanners);
this.maxInMemorySize = maxInMemorySize;
}