From be81264398e07bcc764a5635d859b8e13cada889 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 12 Jul 2017 18:50:56 +0200 Subject: [PATCH] Added missing span continuation in AsyncRestTemplate fixes #636 --- .../instrument/web/client/TraceAsyncRestTemplate.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceAsyncRestTemplate.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceAsyncRestTemplate.java index 2f042d422..eb9dcc3bf 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceAsyncRestTemplate.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceAsyncRestTemplate.java @@ -137,7 +137,10 @@ public class TraceAsyncRestTemplate extends AsyncRestTemplate { this.errorParser)); // potential race can happen here if (span != null && span.equals(this.tracer.getCurrentSpan())) { - this.tracer.detach(span); + Span parent = this.tracer.detach(span); + if (parent != null) { + this.tracer.continueSpan(parent); + } } return new ListenableFuture() { @@ -326,9 +329,4 @@ public class TraceAsyncRestTemplate extends AsyncRestTemplate { return this.tracer.isTracing(); } } - - - - - }