Updated Branches: refs/heads/cassandra-1.2 fbe8a6eb2 -> e75e33fa6 refs/heads/trunk 140b0311d -> 36aae612a
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/cassandra-1.2 Commit: 18f3a79fdd2414698817aa4c35d0f9b44d5a7e55 Parents: fbe8a6e Author: Jonathan Ellis <[email protected]> Authored: Fri Jun 21 10:39:27 2013 -0500 Committer: Jonathan Ellis <[email protected]> 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; }
