Repository: cassandra
Updated Branches:
  refs/heads/trunk 674808340 -> d57890ca6


Provide visibility into prepared statements churn

patch by Nate McCall; reviewed by Aleksey Yeschenko for CASSANDRA-7921


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

Branch: refs/heads/trunk
Commit: 5ba1f80a2509e8301bcda3502f9757ca1bbfda55
Parents: dfe1f23
Author: Nate McCall <[email protected]>
Authored: Wed Sep 17 22:57:44 2014 -0700
Committer: Aleksey Yeschenko <[email protected]>
Committed: Wed Sep 17 22:57:44 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                                                | 1 +
 src/java/org/apache/cassandra/cql3/QueryProcessor.java     | 2 ++
 src/java/org/apache/cassandra/metrics/CQLMetrics.java      | 3 +++
 test/unit/org/apache/cassandra/metrics/CQLMetricsTest.java | 1 +
 4 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5ba1f80a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 4619bee..5125c77 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.1
+ * Provide visibility into prepared statements churn (CASSANDRA-7921)
  * Invalidate prepared statements when their keyspace or table is
    dropped (CASSANDRA-7566)
  * cassandra-stress: fix support for NetworkTopologyStrategy (CASSANDRA-7945)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5ba1f80a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java 
b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
index 419a3e1..8744db4 100644
--- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
@@ -99,6 +99,7 @@ public class QueryProcessor implements QueryHandler
                              {
                                  public void onEviction(MD5Digest md5Digest, 
ParsedStatement.Prepared prepared)
                                  {
+                                     metrics.preparedStatementsEvicted.inc();
                                  }
                              }).build();
 
@@ -109,6 +110,7 @@ public class QueryProcessor implements QueryHandler
                                    {
                                        public void onEviction(Integer integer, 
CQLStatement cqlStatement)
                                        {
+                                           
metrics.preparedStatementsEvicted.inc();
                                        }
                                    })
                                    .build();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5ba1f80a/src/java/org/apache/cassandra/metrics/CQLMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/CQLMetrics.java 
b/src/java/org/apache/cassandra/metrics/CQLMetrics.java
index 79a8e10..a7076dd 100644
--- a/src/java/org/apache/cassandra/metrics/CQLMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/CQLMetrics.java
@@ -29,6 +29,7 @@ public class CQLMetrics
 
     public final Counter regularStatementsExecuted;
     public final Counter preparedStatementsExecuted;
+    public final Counter preparedStatementsEvicted;
 
     public final Gauge<Integer> preparedStatementsCount;
     public final Gauge<Double> preparedStatementsRatio;
@@ -37,6 +38,8 @@ public class CQLMetrics
     {
         regularStatementsExecuted = 
Metrics.newCounter(factory.createMetricName("RegularStatementsExecuted"));
         preparedStatementsExecuted = 
Metrics.newCounter(factory.createMetricName("PreparedStatementsExecuted"));
+        preparedStatementsEvicted = 
Metrics.newCounter(factory.createMetricName("PreparedStatementsEvicted"));
+
         preparedStatementsCount = 
Metrics.newGauge(factory.createMetricName("PreparedStatementsCount"), new 
Gauge<Integer>()
         {
             public Integer value()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5ba1f80a/test/unit/org/apache/cassandra/metrics/CQLMetricsTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/metrics/CQLMetricsTest.java 
b/test/unit/org/apache/cassandra/metrics/CQLMetricsTest.java
index 91abf86..88104a6 100644
--- a/test/unit/org/apache/cassandra/metrics/CQLMetricsTest.java
+++ b/test/unit/org/apache/cassandra/metrics/CQLMetricsTest.java
@@ -119,6 +119,7 @@ public class CQLMetricsTest extends SchemaLoader
     {
         QueryProcessor.metrics.preparedStatementsExecuted.clear();
         QueryProcessor.metrics.regularStatementsExecuted.clear();
+        QueryProcessor.metrics.preparedStatementsEvicted.clear();
     }
 }
 

Reply via email to