mirror of https://github.com/apache/cassandra
Tracing payload not passed from QueryMessage to tracing session
Patch by Mick Semb Wever; Reviewed by T Jake Luciani for CASSANDRA-12835
This commit is contained in:
parent
ba9beea9db
commit
44eb797ad7
|
|
@ -25,6 +25,7 @@
|
|||
* Address message coalescing regression (CASSANDRA-12676)
|
||||
* Delete illegal character from StandardTokenizerImpl.jflex (CASSANDRA-13417)
|
||||
* Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
|
||||
* Tracing payload not passed from QueryMessage to tracing session (CASSANDRA-12835)
|
||||
Merged from 3.0:
|
||||
* Fail repair if insufficient responses received (CASSANDRA-13397)
|
||||
* Fix SSTableLoader fail when the loaded table contains dropped columns (CASSANDRA-13276)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ package org.apache.cassandra.service;
|
|||
|
||||
import java.net.InetAddress;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
|
@ -77,11 +76,6 @@ public class QueryState
|
|||
this.preparedTracingSession = sessionId;
|
||||
}
|
||||
|
||||
public void createTracingSession()
|
||||
{
|
||||
createTracingSession(Collections.EMPTY_MAP);
|
||||
}
|
||||
|
||||
public void createTracingSession(Map<String,ByteBuffer> customPayload)
|
||||
{
|
||||
UUID session = this.preparedTracingSession;
|
||||
|
|
|
|||
|
|
@ -2525,7 +2525,7 @@ public class CassandraServer implements Cassandra.Iface
|
|||
{
|
||||
if (state().getQueryState().traceNextQuery())
|
||||
{
|
||||
state().getQueryState().createTracingSession();
|
||||
state().getQueryState().createTracingSession(Collections.EMPTY_MAP);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ public class BatchMessage extends Message.Request
|
|||
|
||||
if (state.traceNextQuery())
|
||||
{
|
||||
state.createTracingSession();
|
||||
state.createTracingSession(getCustomPayload());
|
||||
|
||||
ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
|
||||
if(options.getConsistency() != null)
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public class PrepareMessage extends Message.Request
|
|||
|
||||
if (state.traceNextQuery())
|
||||
{
|
||||
state.createTracingSession();
|
||||
state.createTracingSession(getCustomPayload());
|
||||
Tracing.instance.begin("Preparing CQL3 query", state.getClientAddress(), ImmutableMap.of("query", query));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ public class QueryMessage extends Message.Request
|
|||
|
||||
if (state.traceNextQuery())
|
||||
{
|
||||
state.createTracingSession();
|
||||
state.createTracingSession(getCustomPayload());
|
||||
|
||||
ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
|
||||
builder.put("query", query);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ import org.junit.Test;
|
|||
|
||||
import org.apache.cassandra.config.DatabaseDescriptor;
|
||||
import org.apache.cassandra.utils.progress.ProgressEvent;
|
||||
import org.apache.cassandra.utils.progress.ProgressListener;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
public final class TracingTest
|
||||
{
|
||||
|
|
@ -154,26 +154,26 @@ public final class TracingTest
|
|||
tracing.begin("test-request", Collections.<String,String>emptyMap());
|
||||
tracing.get().enableActivityNotification("test-tag");
|
||||
|
||||
tracing.get().addProgressListener(
|
||||
new ProgressListener()
|
||||
{
|
||||
public void progress(String tag, ProgressEvent pe)
|
||||
{
|
||||
assert "test-tag".equals(tag);
|
||||
assert "test-trace".equals(pe.getMessage());
|
||||
}
|
||||
});
|
||||
tracing.get().addProgressListener((String tag, ProgressEvent pe) -> {
|
||||
assert "test-tag".equals(tag);
|
||||
assert "test-trace".equals(pe.getMessage());
|
||||
});
|
||||
|
||||
tracing.get().trace("test-trace");
|
||||
tracing.stopSession();
|
||||
assert null == tracing.get();
|
||||
}
|
||||
|
||||
private class TracingImpl extends Tracing
|
||||
private static final class TracingImpl extends Tracing
|
||||
{
|
||||
private final List<String> traces;
|
||||
private final Map<String,ByteBuffer> payloads = new HashMap<>();
|
||||
|
||||
public TracingImpl()
|
||||
{
|
||||
this(new ArrayList<>());
|
||||
}
|
||||
|
||||
public TracingImpl(List<String> traces)
|
||||
{
|
||||
this.traces = traces;
|
||||
|
|
@ -190,6 +190,9 @@ public final class TracingTest
|
|||
|
||||
protected UUID newSession(UUID sessionId, TraceType traceType, Map<String,ByteBuffer> customPayload)
|
||||
{
|
||||
if (!customPayload.isEmpty())
|
||||
logger.info("adding custom payload items {}", StringUtils.join(customPayload.keySet(), ','));
|
||||
|
||||
payloads.putAll(customPayload);
|
||||
return super.newSession(sessionId, traceType, customPayload);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue