Merge branch 'cassandra-2.1' into cassandra-2.2

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

Branch: refs/heads/trunk
Commit: ce63a2e921d457058665b9efc86aee4f7ce41799
Parents: 12ff1cd 58599a9
Author: Yuki Morishita <yu...@apache.org>
Authored: Wed Jul 8 12:08:09 2015 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Wed Jul 8 12:08:09 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/ce63a2e9/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 864eed2,bdc5dc2..2172672
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,35 -1,15 +1,36 @@@
 -2.1.9
 +2.2.0-rc3
 +Merged from 2.0:
   * (cqlsh) Allow the SSL protocol version to be specified through the
     config file or environment variables (CASSANDRA-9544)
 -Merged from 2.0:
 - * Scrub (recover) sstables even when -Index.db is missing, (CASSANDRA-9591)
 + * Scrub (recover) sstables even when -Index.db is missing (CASSANDRA-9591)
+  * Fix growing pending background compaction (CASSANDRA-9662)
  
  
 -2.1.8
 +2.2.0-rc2
 + * Re-enable memory-mapped I/O on Windows (CASSANDRA-9658)
 + * Warn when an extra-large partition is compacted (CASSANDRA-9643)
 + * (cqlsh) Allow setting the initial connection timeout (CASSANDRA-9601)
 + * BulkLoader has --transport-factory option but does not use it 
(CASSANDRA-9675)
 + * Allow JMX over SSL directly from nodetool (CASSANDRA-9090)
 + * Update cqlsh for UDFs (CASSANDRA-7556)
 + * Change Windows kernel default timer resolution (CASSANDRA-9634)
 + * Deprected sstable2json and json2sstable (CASSANDRA-9618)
 + * Allow native functions in user-defined aggregates (CASSANDRA-9542)
 + * Don't repair system_distributed by default (CASSANDRA-9621)
 + * Fix mixing min, max, and count aggregates for blob type (CASSANRA-9622)
 + * Rename class for DATE type in Java driver (CASSANDRA-9563)
 + * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
 + * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
 + * Mlockall before opening system sstables & remove boot_without_jna option 
(CASSANDRA-9573)
 + * Add functions to convert timeuuid to date or time, deprecate dateOf and 
unixTimestampOf (CASSANDRA-9229)
 + * Make sure we cancel non-compacting sstables from LifecycleTransaction 
(CASSANDRA-9566)
 + * Fix deprecated repair JMX API (CASSANDRA-9570)
 + * Add logback metrics (CASSANDRA-9378)
 + * Update and refactor ant test/test-compression to run the tests in parallel 
(CASSANDRA-9583)
 + * Fix upgrading to new directory for secondary index (CASSANDRA-9687)
 +Merged from 2.1:
   * (cqlsh) Fix bad check for CQL compatibility when DESCRIBE'ing
     COMPACT STORAGE tables with no clustering columns
 - * Warn when an extra-large partition is compacted (CASSANDRA-9643)
   * Eliminate strong self-reference chains in sstable ref tidiers 
(CASSANDRA-9656)
   * Ensure StreamSession uses canonical sstable reader instances 
(CASSANDRA-9700) 
   * Ensure memtable book keeping is not corrupted in the event we shrink usage 
(CASSANDRA-9681)

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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce63a2e9/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce63a2e9/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/metrics/CompactionMetrics.java
index a62e3c4,f7a99e1..eb00728
--- a/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/CompactionMetrics.java
@@@ -53,24 -53,24 +53,24 @@@ public class CompactionMetrics implemen
  
      public CompactionMetrics(final ThreadPoolExecutor... collectors)
      {
 -        pendingTasks = 
Metrics.newGauge(factory.createMetricName("PendingTasks"), new Gauge<Integer>()
 +        pendingTasks = 
Metrics.register(factory.createMetricName("PendingTasks"), new Gauge<Integer>()
          {
 -            public Integer value()
 +            public Integer getValue()
              {
                  int n = 0;
+                 // add estimate number of compactions need to be done
                  for (String keyspaceName : Schema.instance.getKeyspaces())
                  {
                      for (ColumnFamilyStore cfs : 
Keyspace.open(keyspaceName).getColumnFamilyStores())
                          n += 
cfs.getCompactionStrategy().getEstimatedRemainingTasks();
                  }
-                 for (ThreadPoolExecutor collector : collectors)
-                     n += collector.getTaskCount() - 
collector.getCompletedTaskCount();
-                 return n;
+                 // add number of currently running compactions
+                 return n + compactions.size();
              }
          });
 -        completedTasks = 
Metrics.newGauge(factory.createMetricName("CompletedTasks"), new Gauge<Long>()
 +        completedTasks = 
Metrics.register(factory.createMetricName("CompletedTasks"), new Gauge<Long>()
          {
 -            public Long value()
 +            public Long getValue()
              {
                  long completedTasks = 0;
                  for (ThreadPoolExecutor collector : collectors)

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

Reply via email to