You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2013/06/21 17:40:40 UTC

[2/4] git commit: use REQUEST_RESPONSE to determine whether session is local to prevent false positives in RMVH forwarding case patch by jbellis; reviewed by slebresne for CASSANDRA-5668

use REQUEST_RESPONSE to determine whether session is local to prevent false positives in RMVH forwarding case
patch by jbellis; reviewed by slebresne for CASSANDRA-5668


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

Branch: refs/heads/trunk
Commit: 18f3a79fdd2414698817aa4c35d0f9b44d5a7e55
Parents: fbe8a6e
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Jun 21 10:39:27 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Jun 21 10:39:27 2013 -0500

----------------------------------------------------------------------
 .../org/apache/cassandra/net/OutboundTcpConnection.java     | 3 ++-
 .../org/apache/cassandra/tracing/ExpiredTraceState.java     | 2 +-
 src/java/org/apache/cassandra/tracing/TraceState.java       | 4 +---
 src/java/org/apache/cassandra/tracing/Tracing.java          | 9 ++++-----
 4 files changed, 8 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/18f3a79f/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
index ee30d36..7077922 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -188,7 +188,8 @@ public class OutboundTcpConnection extends Thread
                 else
                 {
                     state.trace(message);
-                    Tracing.instance().stopIfNonLocal(state);
+                    if (qm.message.verb == MessagingService.Verb.REQUEST_RESPONSE)
+                        Tracing.instance().stopNonLocal(state);
                 }
             }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/18f3a79f/src/java/org/apache/cassandra/tracing/ExpiredTraceState.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tracing/ExpiredTraceState.java b/src/java/org/apache/cassandra/tracing/ExpiredTraceState.java
index 6b4f90b..37a013b 100644
--- a/src/java/org/apache/cassandra/tracing/ExpiredTraceState.java
+++ b/src/java/org/apache/cassandra/tracing/ExpiredTraceState.java
@@ -29,7 +29,7 @@ public class ExpiredTraceState extends TraceState
 {
     public ExpiredTraceState(UUID sessionId)
     {
-        super(FBUtilities.getBroadcastAddress(), sessionId, true);
+        super(FBUtilities.getBroadcastAddress(), sessionId);
     }
 
     public int elapsed()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/18f3a79f/src/java/org/apache/cassandra/tracing/TraceState.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tracing/TraceState.java b/src/java/org/apache/cassandra/tracing/TraceState.java
index 25599c4..4d52f8f 100644
--- a/src/java/org/apache/cassandra/tracing/TraceState.java
+++ b/src/java/org/apache/cassandra/tracing/TraceState.java
@@ -45,16 +45,14 @@ public class TraceState
     public final InetAddress coordinator;
     public final Stopwatch watch;
     public final ByteBuffer sessionIdBytes;
-    public final boolean isLocallyOwned;
 
-    public TraceState(InetAddress coordinator, UUID sessionId, boolean locallyOwned)
+    public TraceState(InetAddress coordinator, UUID sessionId)
     {
         assert coordinator != null;
         assert sessionId != null;
 
         this.coordinator = coordinator;
         this.sessionId = sessionId;
-        this.isLocallyOwned = locallyOwned;
         sessionIdBytes = ByteBufferUtil.bytes(sessionId);
         watch = new Stopwatch();
         watch.start();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/18f3a79f/src/java/org/apache/cassandra/tracing/Tracing.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tracing/Tracing.java b/src/java/org/apache/cassandra/tracing/Tracing.java
index eb5bad9..c692436 100644
--- a/src/java/org/apache/cassandra/tracing/Tracing.java
+++ b/src/java/org/apache/cassandra/tracing/Tracing.java
@@ -144,17 +144,16 @@ public class Tracing
     {
         assert state.get() == null;
 
-        TraceState ts = new TraceState(localAddress, sessionId, true);
+        TraceState ts = new TraceState(localAddress, sessionId);
         state.set(ts);
         sessions.put(sessionId, ts);
 
         return sessionId;
     }
 
-    public void stopIfNonLocal(TraceState state)
+    public void stopNonLocal(TraceState state)
     {
-        if (!state.isLocallyOwned)
-            sessions.remove(state.sessionId);
+        sessions.remove(state.sessionId);
     }
 
     /**
@@ -254,7 +253,7 @@ public class Tracing
         }
         else
         {
-            ts = new TraceState(message.from, sessionId, false);
+            ts = new TraceState(message.from, sessionId);
             sessions.put(sessionId, ts);
             return ts;
         }