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;
}