You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2013/11/29 03:27:47 UTC

[1/2] git commit: Expose a total memtable size metric for a CF

Updated Branches:
  refs/heads/trunk 58bcdd493 -> 2ddf2cdc6


Expose a total memtable size metric for a CF

patch by Aleksey Yeschenko; reviewed by Jonathan Ellis for
CASSANDRA-6391


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

Branch: refs/heads/trunk
Commit: d41a746a699fcbb2591c27cfebe344a5310831a6
Parents: 43e61e8
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Fri Nov 29 05:24:56 2013 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Fri Nov 29 05:24:56 2013 +0300

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 12 ++++++++++++
 .../apache/cassandra/metrics/ColumnFamilyMetrics.java   |  9 +++++++++
 3 files changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d41a746a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bd8dd1c..644c6b3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
  * Fix divide-by-zero in PCI (CASSANDRA-6403)
  * Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284)
  * Add sub-ms precision formats to the timestamp parser (CASSANDRA-6395)
+ * Expose a total memtable size metric for a CF (CASSANDRA-6391)
 Merged from 1.2:
  * Fix thundering herd on endpoint cache invalidation (CASSANDRA-6345)
  * cqlsh: quote single quotes in strings inside collections (CASSANDRA-6172)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d41a746a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 137d597..eb715ac 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1114,6 +1114,18 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
         return size;
     }
 
+    /**
+     * @return the size of all the memtables, including the pending flush ones and 2i memtables, if any.
+     */
+    public long getTotalAllMemtablesLiveSize()
+    {
+        long size = getAllMemtablesLiveSize();
+        if (indexManager.hasIndexes())
+            for (ColumnFamilyStore index : indexManager.getIndexesBackedByCfs())
+                size += index.getAllMemtablesLiveSize();
+        return size;
+    }
+
     public int getMemtableSwitchCount()
     {
         return (int) metric.memtableSwitchCount.count();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d41a746a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
index aabf373..30f01de 100644
--- a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
@@ -36,6 +36,8 @@ public class ColumnFamilyMetrics
 {
     /** Total amount of data stored in the memtable, including column related overhead. */
     public final Gauge<Long> memtableDataSize;
+    /** Total amount of data stored in the memtables (2i and pending flush memtables included). */
+    public final Gauge<Long> allMemtablesDataSize;
     /** Total number of columns present in the memtable. */
     public final Gauge<Long> memtableColumnsCount;
     /** Number of times flush has resulted in the memtable being switched out. */
@@ -117,6 +119,13 @@ public class ColumnFamilyMetrics
                 return cfs.getDataTracker().getMemtable().getLiveSize();
             }
         });
+        allMemtablesDataSize = Metrics.newGauge(factory.createMetricName("AllMemtablesDataSize"), new Gauge<Long>()
+        {
+            public Long value()
+            {
+                return cfs.getTotalAllMemtablesLiveSize();
+            }
+        });
         memtableSwitchCount = Metrics.newCounter(factory.createMetricName("MemtableSwitchCount"));
         estimatedRowSizeHistogram = Metrics.newGauge(factory.createMetricName("EstimatedRowSizeHistogram"), new Gauge<long[]>()
         {


[2/2] git commit: Merge branch 'cassandra-2.0' into trunk

Posted by al...@apache.org.
Merge branch 'cassandra-2.0' into trunk

Conflicts:
	CHANGES.txt


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

Branch: refs/heads/trunk
Commit: 2ddf2cdc68226cab90df0e9e492908d11f699590
Parents: 58bcdd4 d41a746
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Fri Nov 29 05:27:35 2013 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Fri Nov 29 05:27:35 2013 +0300

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 12 ++++++++++++
 .../apache/cassandra/metrics/ColumnFamilyMetrics.java   |  9 +++++++++
 3 files changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ddf2cdc/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index a8ddb87,644c6b3..8d11a0a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,24 -1,8 +1,25 @@@
 +2.1
 + * allocate fixed index summary memory pool and resample cold index summaries 
 +   to use less memory (CASSANDRA-5519)
 + * Removed multithreaded compaction (CASSANDRA-6142)
 + * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337)
 + * change logging from log4j to logback (CASSANDRA-5883)
 + * switch to LZ4 compression for internode communication (CASSANDRA-5887)
 + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
 + * Remove 1.2 network compatibility code (CASSANDRA-5960)
 + * Remove leveled json manifest migration code (CASSANDRA-5996)
 + * Remove CFDefinition (CASSANDRA-6253)
 + * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278)
 + * User-defined types for CQL3 (CASSANDRA-5590)
 + * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406)
 + * Batch read from OTC's queue and cleanup (CASSANDRA-1632)
 +
 +
  2.0.4
 - * Fix divide-by-zero in PCI (CASSANDRA-6403)
   * Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284)
   * Add sub-ms precision formats to the timestamp parser (CASSANDRA-6395)
 + * Add snapshot space used to cfstats (CASSANDRA-6231)
+  * Expose a total memtable size metric for a CF (CASSANDRA-6391)
  Merged from 1.2:
   * Fix thundering herd on endpoint cache invalidation (CASSANDRA-6345)
   * cqlsh: quote single quotes in strings inside collections (CASSANDRA-6172)

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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ddf2cdc/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java
----------------------------------------------------------------------