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/cassandra-2.2 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 ----------------------------------------------------------------------