Merge branch 'cassandra-2.2' into trunk

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/83e37873
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/83e37873
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/83e37873

Branch: refs/heads/trunk
Commit: 83e378737888ad47931ac713b50188f77da2ff56
Parents: 5eed967 ce63a2e
Author: Yuki Morishita <[email protected]>
Authored: Wed Jul 8 12:16:31 2015 -0500
Committer: Yuki Morishita <[email protected]>
Committed: Wed Jul 8 12:16:31 2015 -0500

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../apache/cassandra/db/ColumnFamilyStore.java  | 13 +--------
 .../db/compaction/CompactionManager.java        | 28 +++++++-------------
 .../cassandra/metrics/CompactionMetrics.java    |  6 ++---
 .../db/compaction/CompactionsTest.java          | 12 ++++++---
 5 files changed, 24 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/83e37873/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83e37873/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83e37873/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index e3e9b03,4038aa7..6cf2e18
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -180,19 -176,16 +175,16 @@@ public class CompactionManager implemen
          logger.debug("Scheduling a background task check for {}.{} with {}",
                       cfs.keyspace.getName(),
                       cfs.name,
 -                     cfs.getCompactionStrategy().getName());
 +                     cfs.getCompactionStrategyManager().getName());
-         List<Future<?>> futures = new ArrayList<Future<?>>();
+         List<Future<?>> futures = new ArrayList<>();
          // we must schedule it at least once, otherwise compaction will stop 
for a CF until next flush
-         do {
-             if (executor.isShutdown())
-             {
-                 logger.info("Executor has shut down, not submitting 
background task");
-                 return Collections.emptyList();
-             }
-             compactingCF.add(cfs);
-             futures.add(executor.submit(new BackgroundCompactionTask(cfs)));
-             // if we have room for more compactions, then fill up executor
-         } while (autoFill && executor.getActiveCount() + futures.size() < 
executor.getMaximumPoolSize());
+         if (executor.isShutdown())
+         {
+             logger.info("Executor has shut down, not submitting background 
task");
+             return Collections.emptyList();
+         }
+         compactingCF.add(cfs);
+         futures.add(executor.submit(new BackgroundCompactionCandidate(cfs)));
  
          return futures;
      }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83e37873/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/metrics/CompactionMetrics.java
index 20a5685,eb00728..19eadc8
--- a/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
@@@ -61,11 -62,10 +62,10 @@@ public class CompactionMetrics implemen
                  for (String keyspaceName : Schema.instance.getKeyspaces())
                  {
                      for (ColumnFamilyStore cfs : 
Keyspace.open(keyspaceName).getColumnFamilyStores())
 -                        n += 
cfs.getCompactionStrategy().getEstimatedRemainingTasks();
 +                        n += 
cfs.getCompactionStrategyManager().getEstimatedRemainingTasks();
                  }
-                 for (ThreadPoolExecutor collector : collectors)
-                     n += collector.getTaskCount() - 
collector.getCompletedTaskCount();
-                 return n;
+                 // add number of currently running compactions
+                 return n + compactions.size();
              }
          });
          completedTasks = 
Metrics.register(factory.createMetricName("CompletedTasks"), new Gauge<Long>()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83e37873/test/unit/org/apache/cassandra/db/compaction/CompactionsTest.java
----------------------------------------------------------------------

Reply via email to