You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sn...@apache.org on 2015/07/27 22:40:12 UTC

[1/6] cassandra git commit: Add consistency level to tracing ouput

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 9ed0f30a4 -> 9dbf32cd8
  refs/heads/cassandra-2.2 6f0c7d9f4 -> fcb5bd67d
  refs/heads/trunk 76480b345 -> a8c50b814


Add consistency level to tracing ouput

patch by Alec Grieser; reviewed by Richard Low for CASSANDRA-9827


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

Branch: refs/heads/cassandra-2.1
Commit: 9dbf32cd824002b678b03afde8c441a85418a943
Parents: 9ed0f30
Author: Alec Grieser <ah...@gmail.com>
Authored: Mon Jul 27 22:36:41 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Mon Jul 27 22:36:41 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                       |  1 +
 .../apache/cassandra/thrift/CassandraServer.java  | 18 ++++++++++++------
 .../transport/messages/BatchMessage.java          | 11 +++++++++--
 .../transport/messages/ExecuteMessage.java        |  4 ++++
 .../transport/messages/QueryMessage.java          |  5 ++++-
 5 files changed, 30 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9cb7b83..5aee7ba 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.9
+ * Add consistency level to tracing ouput (CASSANDRA-9827)
  * Fix MarshalException when upgrading superColumn family (CASSANDRA-9582)
  * Fix broken logging for "empty" flushes in Memtable (CASSANDRA-9837)
  * Handle corrupt files on startup (CASSANDRA-9686)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index e8d08b5..fd87b57 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -733,10 +733,15 @@ public class CassandraServer implements Cassandra.Iface
     {
         if (startSessionIfRequested())
         {
-            Map<String, String> traceParameters = ImmutableMap.of("key", ByteBufferUtil.bytesToHex(key),
-                                                                  "column_family", column_family,
-                                                                  "old", expected.toString(),
-                                                                  "updates", updates.toString());
+            ImmutableMap.Builder<String,String> builder = ImmutableMap.builder();
+            builder.put("key", ByteBufferUtil.bytesToHex(key));
+            builder.put("column_family", column_family);
+            builder.put("old", expected.toString());
+            builder.put("updates", updates.toString());
+            builder.put("consistency_level", commit_consistency_level.name());
+            builder.put("serial_consistency_level", serial_consistency_level.name());
+            Map<String,String> traceParameters = builder.build();
+
             Tracing.instance.begin("cas", traceParameters);
         }
         else
@@ -1969,7 +1974,8 @@ public class CassandraServer implements Cassandra.Iface
             if (startSessionIfRequested())
             {
                 Tracing.instance.begin("execute_cql3_query",
-                                       ImmutableMap.of("query", queryString));
+                                       ImmutableMap.of("query", queryString,
+                                                       "consistency_level", cLevel.name()));
             }
             else
             {
@@ -2160,7 +2166,7 @@ public class CassandraServer implements Cassandra.Iface
         if (startSessionIfRequested())
         {
             // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-            Tracing.instance.begin("execute_prepared_cql3_query", Collections.<String, String>emptyMap());
+            Tracing.instance.begin("execute_prepared_cql3_query", ImmutableMap.of("consistency_level", cLevel.name()));
         }
         else
         {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
index ff791ef..b34b156 100644
--- a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
@@ -19,10 +19,10 @@ package org.apache.cassandra.transport.messages;
 
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
 
+import com.google.common.collect.ImmutableMap;
 import io.netty.buffer.ByteBuf;
 
 import org.apache.cassandra.cql3.*;
@@ -166,8 +166,15 @@ public class BatchMessage extends Message.Request
             if (state.traceNextQuery())
             {
                 state.createTracingSession();
+
+                ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
+                if(options.getConsistency() != null)
+                    builder.put("consistency_level", options.getConsistency().name());
+                if(options.getSerialConsistency() != null)
+                    builder.put("serial_consistency_level", options.getSerialConsistency().name());
+
                 // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-                Tracing.instance.begin("Execute batch of CQL3 queries", Collections.<String, String>emptyMap());
+                Tracing.instance.begin("Execute batch of CQL3 queries", builder.build());
             }
 
             QueryHandler handler = ClientState.getCQLQueryHandler();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java b/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
index 324ae00..7dd5f83 100644
--- a/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
@@ -126,6 +126,10 @@ public class ExecuteMessage extends Message.Request
                 ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
                 if (options.getPageSize() > 0)
                     builder.put("page_size", Integer.toString(options.getPageSize()));
+                if(options.getConsistency() != null)
+                    builder.put("consistency_level", options.getConsistency().name());
+                if(options.getSerialConsistency() != null)
+                    builder.put("serial_consistency_level", options.getSerialConsistency().name());
 
                 // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
                 Tracing.instance.begin("Execute CQL3 prepared query", builder.build());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/QueryMessage.java b/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
index ff50422..2dd98cc 100644
--- a/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
@@ -24,7 +24,6 @@ import java.util.UUID;
 import com.google.common.collect.ImmutableMap;
 import io.netty.buffer.ByteBuf;
 
-import org.apache.cassandra.cql3.QueryHandler;
 import org.apache.cassandra.cql3.QueryOptions;
 import org.apache.cassandra.db.ConsistencyLevel;
 import org.apache.cassandra.exceptions.*;
@@ -112,6 +111,10 @@ public class QueryMessage extends Message.Request
                 builder.put("query", query);
                 if (options.getPageSize() > 0)
                     builder.put("page_size", Integer.toString(options.getPageSize()));
+                if(options.getConsistency() != null)
+                    builder.put("consistency_level", options.getConsistency().name());
+                if(options.getSerialConsistency() != null)
+                    builder.put("serial_consistency_level", options.getSerialConsistency().name());
 
                 Tracing.instance.begin("Execute CQL3 query", builder.build());
             }


[5/6] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by sn...@apache.org.
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/fcb5bd67
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fcb5bd67
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fcb5bd67

Branch: refs/heads/cassandra-2.2
Commit: fcb5bd67d2d2287560306756d3e624195eebecce
Parents: 6f0c7d9 9dbf32c
Author: Robert Stupp <sn...@snazy.de>
Authored: Mon Jul 27 22:38:39 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Mon Jul 27 22:38:39 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                       |  2 ++
 .../apache/cassandra/thrift/CassandraServer.java  | 18 ++++++++++++------
 .../transport/messages/BatchMessage.java          | 11 +++++++++--
 .../transport/messages/ExecuteMessage.java        |  4 ++++
 .../transport/messages/QueryMessage.java          |  4 ++++
 5 files changed, 31 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 17ec705,5aee7ba..36d0485
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,16 -1,5 +1,18 @@@
 -2.1.9
 +2.2.1
 + * UDF / UDA execution time in trace (CASSANDRA-9723)
 + * Remove repair snapshot leftover on startup (CASSANDRA-7357)
 + * Use random nodes for batch log when only 2 racks (CASSANDRA-8735)
++Merged from 2.1:
+  * Add consistency level to tracing ouput (CASSANDRA-9827)
 +Merged from 2.0:
 + * Log when messages are dropped due to cross_node_timeout (CASSANDRA-9793)
 +
 +2.2.0
 + * Fix cqlsh copy methods and other windows specific issues (CASSANDRA-9795) 
 + * Don't wrap byte arrays in SequentialWriter (CASSANDRA-9797)
 + * sum() and avg() functions missing for smallint and tinyint types (CASSANDRA-9671)
 + * Revert CASSANDRA-9542 (allow native functions in UDA) (CASSANDRA-9771)
 +Merged from 2.1:
   * Fix MarshalException when upgrading superColumn family (CASSANDRA-9582)
   * Fix broken logging for "empty" flushes in Memtable (CASSANDRA-9837)
   * Handle corrupt files on startup (CASSANDRA-9686)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/thrift/CassandraServer.java
index 04d3d13,fd87b57..64662bf
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@@ -1932,22 -2022,16 +1938,22 @@@ public class CassandraServer implement
          }
      }
  
 -    public CqlPreparedResult prepare_cql3_query(ByteBuffer query, Compression compression)
 -    throws InvalidRequestException, TException
 +    public CqlResult execute_prepared_cql_query(int itemId, List<ByteBuffer> bindVariables) throws TException
      {
 -        if (logger.isDebugEnabled())
 -            logger.debug("prepare_cql3_query");
 -
 -        validateCQLVersion(3);
 +        throw new InvalidRequestException("CQL2 has been removed in Cassandra 2.2. Please use CQL3 instead");
 +    }
  
 -        String queryString = uncompress(query, compression);
 -        ThriftClientState cState = state();
 +    public CqlResult execute_prepared_cql3_query(int itemId, List<ByteBuffer> bindVariables, ConsistencyLevel cLevel) throws TException
 +    {
 +        if (startSessionIfRequested())
 +        {
 +            // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-             Tracing.instance.begin("execute_prepared_cql3_query", Collections.<String, String>emptyMap());
++            Tracing.instance.begin("execute_prepared_cql3_query", ImmutableMap.of("consistency_level", cLevel.name()));
 +        }
 +        else
 +        {
 +            logger.debug("execute_prepared_cql3_query");
 +        }
  
          try
          {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/transport/messages/BatchMessage.java
index 4755ad3,b34b156..2db380b
--- a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
@@@ -166,8 -166,15 +166,15 @@@ public class BatchMessage extends Messa
              if (state.traceNextQuery())
              {
                  state.createTracingSession();
+ 
+                 ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
+                 if(options.getConsistency() != null)
+                     builder.put("consistency_level", options.getConsistency().name());
+                 if(options.getSerialConsistency() != null)
+                     builder.put("serial_consistency_level", options.getSerialConsistency().name());
+ 
                  // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-                 Tracing.instance.begin("Execute batch of CQL3 queries", state.getClientAddress(), Collections.<String, String>emptyMap());
 -                Tracing.instance.begin("Execute batch of CQL3 queries", builder.build());
++                Tracing.instance.begin("Execute batch of CQL3 queries", state.getClientAddress(), builder.build());
              }
  
              QueryHandler handler = ClientState.getCQLQueryHandler();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
index 3eddc7d,7dd5f83..718595c
--- a/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
@@@ -127,12 -126,16 +127,16 @@@ public class ExecuteMessage extends Mes
                  ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
                  if (options.getPageSize() > 0)
                      builder.put("page_size", Integer.toString(options.getPageSize()));
+                 if(options.getConsistency() != null)
+                     builder.put("consistency_level", options.getConsistency().name());
+                 if(options.getSerialConsistency() != null)
+                     builder.put("serial_consistency_level", options.getSerialConsistency().name());
  
                  // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
 -                Tracing.instance.begin("Execute CQL3 prepared query", builder.build());
 +                Tracing.instance.begin("Execute CQL3 prepared query", state.getClientAddress(), builder.build());
              }
  
 -            Message.Response response = handler.processPrepared(statement, state, options);
 +            Message.Response response = handler.processPrepared(statement, state, options, getCustomPayload());
              if (options.skipMetadata() && response instanceof ResultMessage.Rows)
                  ((ResultMessage.Rows)response).result.metadata.setSkipMetadata();
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/transport/messages/QueryMessage.java
index 4e21678,2dd98cc..6d22dd1
--- a/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
@@@ -112,11 -111,15 +112,15 @@@ public class QueryMessage extends Messa
                  builder.put("query", query);
                  if (options.getPageSize() > 0)
                      builder.put("page_size", Integer.toString(options.getPageSize()));
+                 if(options.getConsistency() != null)
+                     builder.put("consistency_level", options.getConsistency().name());
+                 if(options.getSerialConsistency() != null)
+                     builder.put("serial_consistency_level", options.getSerialConsistency().name());
  
 -                Tracing.instance.begin("Execute CQL3 query", builder.build());
 +                Tracing.instance.begin("Execute CQL3 query", state.getClientAddress(), builder.build());
              }
  
 -            Message.Response response = state.getClientState().getCQLQueryHandler().process(query, state, options);
 +            Message.Response response = ClientState.getCQLQueryHandler().process(query, state, options, getCustomPayload());
              if (options.skipMetadata() && response instanceof ResultMessage.Rows)
                  ((ResultMessage.Rows)response).result.metadata.setSkipMetadata();
  


[4/6] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by sn...@apache.org.
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/fcb5bd67
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fcb5bd67
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fcb5bd67

Branch: refs/heads/trunk
Commit: fcb5bd67d2d2287560306756d3e624195eebecce
Parents: 6f0c7d9 9dbf32c
Author: Robert Stupp <sn...@snazy.de>
Authored: Mon Jul 27 22:38:39 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Mon Jul 27 22:38:39 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                       |  2 ++
 .../apache/cassandra/thrift/CassandraServer.java  | 18 ++++++++++++------
 .../transport/messages/BatchMessage.java          | 11 +++++++++--
 .../transport/messages/ExecuteMessage.java        |  4 ++++
 .../transport/messages/QueryMessage.java          |  4 ++++
 5 files changed, 31 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 17ec705,5aee7ba..36d0485
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,16 -1,5 +1,18 @@@
 -2.1.9
 +2.2.1
 + * UDF / UDA execution time in trace (CASSANDRA-9723)
 + * Remove repair snapshot leftover on startup (CASSANDRA-7357)
 + * Use random nodes for batch log when only 2 racks (CASSANDRA-8735)
++Merged from 2.1:
+  * Add consistency level to tracing ouput (CASSANDRA-9827)
 +Merged from 2.0:
 + * Log when messages are dropped due to cross_node_timeout (CASSANDRA-9793)
 +
 +2.2.0
 + * Fix cqlsh copy methods and other windows specific issues (CASSANDRA-9795) 
 + * Don't wrap byte arrays in SequentialWriter (CASSANDRA-9797)
 + * sum() and avg() functions missing for smallint and tinyint types (CASSANDRA-9671)
 + * Revert CASSANDRA-9542 (allow native functions in UDA) (CASSANDRA-9771)
 +Merged from 2.1:
   * Fix MarshalException when upgrading superColumn family (CASSANDRA-9582)
   * Fix broken logging for "empty" flushes in Memtable (CASSANDRA-9837)
   * Handle corrupt files on startup (CASSANDRA-9686)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/thrift/CassandraServer.java
index 04d3d13,fd87b57..64662bf
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@@ -1932,22 -2022,16 +1938,22 @@@ public class CassandraServer implement
          }
      }
  
 -    public CqlPreparedResult prepare_cql3_query(ByteBuffer query, Compression compression)
 -    throws InvalidRequestException, TException
 +    public CqlResult execute_prepared_cql_query(int itemId, List<ByteBuffer> bindVariables) throws TException
      {
 -        if (logger.isDebugEnabled())
 -            logger.debug("prepare_cql3_query");
 -
 -        validateCQLVersion(3);
 +        throw new InvalidRequestException("CQL2 has been removed in Cassandra 2.2. Please use CQL3 instead");
 +    }
  
 -        String queryString = uncompress(query, compression);
 -        ThriftClientState cState = state();
 +    public CqlResult execute_prepared_cql3_query(int itemId, List<ByteBuffer> bindVariables, ConsistencyLevel cLevel) throws TException
 +    {
 +        if (startSessionIfRequested())
 +        {
 +            // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-             Tracing.instance.begin("execute_prepared_cql3_query", Collections.<String, String>emptyMap());
++            Tracing.instance.begin("execute_prepared_cql3_query", ImmutableMap.of("consistency_level", cLevel.name()));
 +        }
 +        else
 +        {
 +            logger.debug("execute_prepared_cql3_query");
 +        }
  
          try
          {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/transport/messages/BatchMessage.java
index 4755ad3,b34b156..2db380b
--- a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
@@@ -166,8 -166,15 +166,15 @@@ public class BatchMessage extends Messa
              if (state.traceNextQuery())
              {
                  state.createTracingSession();
+ 
+                 ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
+                 if(options.getConsistency() != null)
+                     builder.put("consistency_level", options.getConsistency().name());
+                 if(options.getSerialConsistency() != null)
+                     builder.put("serial_consistency_level", options.getSerialConsistency().name());
+ 
                  // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-                 Tracing.instance.begin("Execute batch of CQL3 queries", state.getClientAddress(), Collections.<String, String>emptyMap());
 -                Tracing.instance.begin("Execute batch of CQL3 queries", builder.build());
++                Tracing.instance.begin("Execute batch of CQL3 queries", state.getClientAddress(), builder.build());
              }
  
              QueryHandler handler = ClientState.getCQLQueryHandler();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
index 3eddc7d,7dd5f83..718595c
--- a/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
@@@ -127,12 -126,16 +127,16 @@@ public class ExecuteMessage extends Mes
                  ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
                  if (options.getPageSize() > 0)
                      builder.put("page_size", Integer.toString(options.getPageSize()));
+                 if(options.getConsistency() != null)
+                     builder.put("consistency_level", options.getConsistency().name());
+                 if(options.getSerialConsistency() != null)
+                     builder.put("serial_consistency_level", options.getSerialConsistency().name());
  
                  // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
 -                Tracing.instance.begin("Execute CQL3 prepared query", builder.build());
 +                Tracing.instance.begin("Execute CQL3 prepared query", state.getClientAddress(), builder.build());
              }
  
 -            Message.Response response = handler.processPrepared(statement, state, options);
 +            Message.Response response = handler.processPrepared(statement, state, options, getCustomPayload());
              if (options.skipMetadata() && response instanceof ResultMessage.Rows)
                  ((ResultMessage.Rows)response).result.metadata.setSkipMetadata();
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcb5bd67/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/transport/messages/QueryMessage.java
index 4e21678,2dd98cc..6d22dd1
--- a/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
@@@ -112,11 -111,15 +112,15 @@@ public class QueryMessage extends Messa
                  builder.put("query", query);
                  if (options.getPageSize() > 0)
                      builder.put("page_size", Integer.toString(options.getPageSize()));
+                 if(options.getConsistency() != null)
+                     builder.put("consistency_level", options.getConsistency().name());
+                 if(options.getSerialConsistency() != null)
+                     builder.put("serial_consistency_level", options.getSerialConsistency().name());
  
 -                Tracing.instance.begin("Execute CQL3 query", builder.build());
 +                Tracing.instance.begin("Execute CQL3 query", state.getClientAddress(), builder.build());
              }
  
 -            Message.Response response = state.getClientState().getCQLQueryHandler().process(query, state, options);
 +            Message.Response response = ClientState.getCQLQueryHandler().process(query, state, options, getCustomPayload());
              if (options.skipMetadata() && response instanceof ResultMessage.Rows)
                  ((ResultMessage.Rows)response).result.metadata.setSkipMetadata();
  


[2/6] cassandra git commit: Add consistency level to tracing ouput

Posted by sn...@apache.org.
Add consistency level to tracing ouput

patch by Alec Grieser; reviewed by Richard Low for CASSANDRA-9827


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

Branch: refs/heads/cassandra-2.2
Commit: 9dbf32cd824002b678b03afde8c441a85418a943
Parents: 9ed0f30
Author: Alec Grieser <ah...@gmail.com>
Authored: Mon Jul 27 22:36:41 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Mon Jul 27 22:36:41 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                       |  1 +
 .../apache/cassandra/thrift/CassandraServer.java  | 18 ++++++++++++------
 .../transport/messages/BatchMessage.java          | 11 +++++++++--
 .../transport/messages/ExecuteMessage.java        |  4 ++++
 .../transport/messages/QueryMessage.java          |  5 ++++-
 5 files changed, 30 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9cb7b83..5aee7ba 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.9
+ * Add consistency level to tracing ouput (CASSANDRA-9827)
  * Fix MarshalException when upgrading superColumn family (CASSANDRA-9582)
  * Fix broken logging for "empty" flushes in Memtable (CASSANDRA-9837)
  * Handle corrupt files on startup (CASSANDRA-9686)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index e8d08b5..fd87b57 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -733,10 +733,15 @@ public class CassandraServer implements Cassandra.Iface
     {
         if (startSessionIfRequested())
         {
-            Map<String, String> traceParameters = ImmutableMap.of("key", ByteBufferUtil.bytesToHex(key),
-                                                                  "column_family", column_family,
-                                                                  "old", expected.toString(),
-                                                                  "updates", updates.toString());
+            ImmutableMap.Builder<String,String> builder = ImmutableMap.builder();
+            builder.put("key", ByteBufferUtil.bytesToHex(key));
+            builder.put("column_family", column_family);
+            builder.put("old", expected.toString());
+            builder.put("updates", updates.toString());
+            builder.put("consistency_level", commit_consistency_level.name());
+            builder.put("serial_consistency_level", serial_consistency_level.name());
+            Map<String,String> traceParameters = builder.build();
+
             Tracing.instance.begin("cas", traceParameters);
         }
         else
@@ -1969,7 +1974,8 @@ public class CassandraServer implements Cassandra.Iface
             if (startSessionIfRequested())
             {
                 Tracing.instance.begin("execute_cql3_query",
-                                       ImmutableMap.of("query", queryString));
+                                       ImmutableMap.of("query", queryString,
+                                                       "consistency_level", cLevel.name()));
             }
             else
             {
@@ -2160,7 +2166,7 @@ public class CassandraServer implements Cassandra.Iface
         if (startSessionIfRequested())
         {
             // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-            Tracing.instance.begin("execute_prepared_cql3_query", Collections.<String, String>emptyMap());
+            Tracing.instance.begin("execute_prepared_cql3_query", ImmutableMap.of("consistency_level", cLevel.name()));
         }
         else
         {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
index ff791ef..b34b156 100644
--- a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
@@ -19,10 +19,10 @@ package org.apache.cassandra.transport.messages;
 
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
 
+import com.google.common.collect.ImmutableMap;
 import io.netty.buffer.ByteBuf;
 
 import org.apache.cassandra.cql3.*;
@@ -166,8 +166,15 @@ public class BatchMessage extends Message.Request
             if (state.traceNextQuery())
             {
                 state.createTracingSession();
+
+                ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
+                if(options.getConsistency() != null)
+                    builder.put("consistency_level", options.getConsistency().name());
+                if(options.getSerialConsistency() != null)
+                    builder.put("serial_consistency_level", options.getSerialConsistency().name());
+
                 // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-                Tracing.instance.begin("Execute batch of CQL3 queries", Collections.<String, String>emptyMap());
+                Tracing.instance.begin("Execute batch of CQL3 queries", builder.build());
             }
 
             QueryHandler handler = ClientState.getCQLQueryHandler();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java b/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
index 324ae00..7dd5f83 100644
--- a/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
@@ -126,6 +126,10 @@ public class ExecuteMessage extends Message.Request
                 ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
                 if (options.getPageSize() > 0)
                     builder.put("page_size", Integer.toString(options.getPageSize()));
+                if(options.getConsistency() != null)
+                    builder.put("consistency_level", options.getConsistency().name());
+                if(options.getSerialConsistency() != null)
+                    builder.put("serial_consistency_level", options.getSerialConsistency().name());
 
                 // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
                 Tracing.instance.begin("Execute CQL3 prepared query", builder.build());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/QueryMessage.java b/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
index ff50422..2dd98cc 100644
--- a/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
@@ -24,7 +24,6 @@ import java.util.UUID;
 import com.google.common.collect.ImmutableMap;
 import io.netty.buffer.ByteBuf;
 
-import org.apache.cassandra.cql3.QueryHandler;
 import org.apache.cassandra.cql3.QueryOptions;
 import org.apache.cassandra.db.ConsistencyLevel;
 import org.apache.cassandra.exceptions.*;
@@ -112,6 +111,10 @@ public class QueryMessage extends Message.Request
                 builder.put("query", query);
                 if (options.getPageSize() > 0)
                     builder.put("page_size", Integer.toString(options.getPageSize()));
+                if(options.getConsistency() != null)
+                    builder.put("consistency_level", options.getConsistency().name());
+                if(options.getSerialConsistency() != null)
+                    builder.put("serial_consistency_level", options.getSerialConsistency().name());
 
                 Tracing.instance.begin("Execute CQL3 query", builder.build());
             }


[6/6] cassandra git commit: Merge branch 'cassandra-2.2' into trunk

Posted by sn...@apache.org.
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/a8c50b81
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a8c50b81
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a8c50b81

Branch: refs/heads/trunk
Commit: a8c50b814b148329837631182309c648d4836da4
Parents: 76480b3 fcb5bd6
Author: Robert Stupp <sn...@snazy.de>
Authored: Mon Jul 27 22:39:01 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Mon Jul 27 22:39:31 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                       |  5 ++---
 .../apache/cassandra/thrift/CassandraServer.java  | 18 ++++++++++++------
 .../transport/messages/BatchMessage.java          | 11 +++++++++--
 .../transport/messages/ExecuteMessage.java        |  4 ++++
 .../transport/messages/QueryMessage.java          |  4 ++++
 5 files changed, 31 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a8c50b81/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index e3323f7,36d0485..2db4115
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,31 -1,3 +1,28 @@@
 +3.0
- <<<<<<< HEAD
 + * Implement proper sandboxing for UDFs (CASSANDRA-9402)
- =======
 + * Simplify (and unify) cleanup of compaction leftovers (CASSANDRA-7066)
- >>>>>>> Introduce safer durable sstable membership management
 + * Allow extra schema definitions in cassandra-stress yaml (CASSANDRA-9850)
 + * Metrics should use up to date nomenclature (CASSANDRA-9448)
 + * Change CREATE/ALTER TABLE syntax for compression (CASSANDRA-8384)
 + * Cleanup crc and adler code for java 8 (CASSANDRA-9650)
 + * Storage engine refactor (CASSANDRA-8099, 9743, 9746, 9759, 9781, 9808, 9825, 9848,
 +   9705, 9859, 9867, 9874, 9828, 9801)
 + * Update Guava to 18.0 (CASSANDRA-9653)
 + * Bloom filter false positive ratio is not honoured (CASSANDRA-8413)
 + * New option for cassandra-stress to leave a ratio of columns null (CASSANDRA-9522)
 + * Change hinted_handoff_enabled yaml setting, JMX (CASSANDRA-9035)
 + * Add algorithmic token allocation (CASSANDRA-7032)
 + * Add nodetool command to replay batchlog (CASSANDRA-9547)
 + * Make file buffer cache independent of paths being read (CASSANDRA-8897)
 + * Remove deprecated legacy Hadoop code (CASSANDRA-9353)
 + * Decommissioned nodes will not rejoin the cluster (CASSANDRA-8801)
 + * Change gossip stabilization to use endpoit size (CASSANDRA-9401)
 + * Change default garbage collector to G1 (CASSANDRA-7486)
 + * Populate TokenMetadata early during startup (CASSANDRA-9317)
 + * undeprecate cache recentHitRate (CASSANDRA-6591)
 + * Add support for selectively varint encoding fields (CASSANDRA-9499)
 +
 +
  2.2.1
   * UDF / UDA execution time in trace (CASSANDRA-9723)
   * Remove repair snapshot leftover on startup (CASSANDRA-7357)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a8c50b81/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a8c50b81/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
----------------------------------------------------------------------


[3/6] cassandra git commit: Add consistency level to tracing ouput

Posted by sn...@apache.org.
Add consistency level to tracing ouput

patch by Alec Grieser; reviewed by Richard Low for CASSANDRA-9827


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

Branch: refs/heads/trunk
Commit: 9dbf32cd824002b678b03afde8c441a85418a943
Parents: 9ed0f30
Author: Alec Grieser <ah...@gmail.com>
Authored: Mon Jul 27 22:36:41 2015 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Mon Jul 27 22:36:41 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                       |  1 +
 .../apache/cassandra/thrift/CassandraServer.java  | 18 ++++++++++++------
 .../transport/messages/BatchMessage.java          | 11 +++++++++--
 .../transport/messages/ExecuteMessage.java        |  4 ++++
 .../transport/messages/QueryMessage.java          |  5 ++++-
 5 files changed, 30 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9cb7b83..5aee7ba 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.9
+ * Add consistency level to tracing ouput (CASSANDRA-9827)
  * Fix MarshalException when upgrading superColumn family (CASSANDRA-9582)
  * Fix broken logging for "empty" flushes in Memtable (CASSANDRA-9837)
  * Handle corrupt files on startup (CASSANDRA-9686)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index e8d08b5..fd87b57 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -733,10 +733,15 @@ public class CassandraServer implements Cassandra.Iface
     {
         if (startSessionIfRequested())
         {
-            Map<String, String> traceParameters = ImmutableMap.of("key", ByteBufferUtil.bytesToHex(key),
-                                                                  "column_family", column_family,
-                                                                  "old", expected.toString(),
-                                                                  "updates", updates.toString());
+            ImmutableMap.Builder<String,String> builder = ImmutableMap.builder();
+            builder.put("key", ByteBufferUtil.bytesToHex(key));
+            builder.put("column_family", column_family);
+            builder.put("old", expected.toString());
+            builder.put("updates", updates.toString());
+            builder.put("consistency_level", commit_consistency_level.name());
+            builder.put("serial_consistency_level", serial_consistency_level.name());
+            Map<String,String> traceParameters = builder.build();
+
             Tracing.instance.begin("cas", traceParameters);
         }
         else
@@ -1969,7 +1974,8 @@ public class CassandraServer implements Cassandra.Iface
             if (startSessionIfRequested())
             {
                 Tracing.instance.begin("execute_cql3_query",
-                                       ImmutableMap.of("query", queryString));
+                                       ImmutableMap.of("query", queryString,
+                                                       "consistency_level", cLevel.name()));
             }
             else
             {
@@ -2160,7 +2166,7 @@ public class CassandraServer implements Cassandra.Iface
         if (startSessionIfRequested())
         {
             // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-            Tracing.instance.begin("execute_prepared_cql3_query", Collections.<String, String>emptyMap());
+            Tracing.instance.begin("execute_prepared_cql3_query", ImmutableMap.of("consistency_level", cLevel.name()));
         }
         else
         {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
index ff791ef..b34b156 100644
--- a/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/BatchMessage.java
@@ -19,10 +19,10 @@ package org.apache.cassandra.transport.messages;
 
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
 
+import com.google.common.collect.ImmutableMap;
 import io.netty.buffer.ByteBuf;
 
 import org.apache.cassandra.cql3.*;
@@ -166,8 +166,15 @@ public class BatchMessage extends Message.Request
             if (state.traceNextQuery())
             {
                 state.createTracingSession();
+
+                ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
+                if(options.getConsistency() != null)
+                    builder.put("consistency_level", options.getConsistency().name());
+                if(options.getSerialConsistency() != null)
+                    builder.put("serial_consistency_level", options.getSerialConsistency().name());
+
                 // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
-                Tracing.instance.begin("Execute batch of CQL3 queries", Collections.<String, String>emptyMap());
+                Tracing.instance.begin("Execute batch of CQL3 queries", builder.build());
             }
 
             QueryHandler handler = ClientState.getCQLQueryHandler();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java b/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
index 324ae00..7dd5f83 100644
--- a/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java
@@ -126,6 +126,10 @@ public class ExecuteMessage extends Message.Request
                 ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
                 if (options.getPageSize() > 0)
                     builder.put("page_size", Integer.toString(options.getPageSize()));
+                if(options.getConsistency() != null)
+                    builder.put("consistency_level", options.getConsistency().name());
+                if(options.getSerialConsistency() != null)
+                    builder.put("serial_consistency_level", options.getSerialConsistency().name());
 
                 // TODO we don't have [typed] access to CQL bind variables here.  CASSANDRA-4560 is open to add support.
                 Tracing.instance.begin("Execute CQL3 prepared query", builder.build());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9dbf32cd/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/messages/QueryMessage.java b/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
index ff50422..2dd98cc 100644
--- a/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
+++ b/src/java/org/apache/cassandra/transport/messages/QueryMessage.java
@@ -24,7 +24,6 @@ import java.util.UUID;
 import com.google.common.collect.ImmutableMap;
 import io.netty.buffer.ByteBuf;
 
-import org.apache.cassandra.cql3.QueryHandler;
 import org.apache.cassandra.cql3.QueryOptions;
 import org.apache.cassandra.db.ConsistencyLevel;
 import org.apache.cassandra.exceptions.*;
@@ -112,6 +111,10 @@ public class QueryMessage extends Message.Request
                 builder.put("query", query);
                 if (options.getPageSize() > 0)
                     builder.put("page_size", Integer.toString(options.getPageSize()));
+                if(options.getConsistency() != null)
+                    builder.put("consistency_level", options.getConsistency().name());
+                if(options.getSerialConsistency() != null)
+                    builder.put("serial_consistency_level", options.getSerialConsistency().name());
 
                 Tracing.instance.begin("Execute CQL3 query", builder.build());
             }