From 882e113c87fd775ea459ef00995ea14faf94dfef Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Tue, 29 Dec 2015 17:32:45 +0000 Subject: [PATCH] Close whole hierarchy at end of message interceptor Just like in the TraceFilter (web) we need to close the parent (remote) trace after the message has been processed. --- .../sleuth/instrument/integration/TraceChannelInterceptor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/integration/TraceChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/integration/TraceChannelInterceptor.java index 9ec311f4a..a021f2b2e 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/integration/TraceChannelInterceptor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/integration/TraceChannelInterceptor.java @@ -45,7 +45,8 @@ public class TraceChannelInterceptor extends ChannelInterceptorAdapter { @Override public void postSend(Message message, MessageChannel channel, boolean sent) { Trace trace = this.traceHolder.get(); - this.traceManager.close(trace); + // Double close to clean up the parent (remote span as well) + this.traceManager.close(this.traceManager.close(trace)); this.traceHolder.remove(); }