diff --git a/pom.xml b/pom.xml
index bb0e52646..7377cb921 100644
--- a/pom.xml
+++ b/pom.xml
@@ -192,6 +192,13 @@
pom
import
+
+ io.zipkin.brave
+ brave-bom
+ ${brave.version}
+ pom
+ import
+
org.spockframework
@@ -259,6 +266,7 @@
Elmhurst.BUILD-SNAPSHOT
2.0.0.BUILD-SNAPSHOT
2.0.0.BUILD-SNAPSHOT
+ 4.16.3-SNAPSHOT
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java
index 09eff9014..084747661 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientBeanPostProcessor.java
@@ -25,7 +25,6 @@ import brave.http.HttpClientHandler;
import brave.http.HttpTracing;
import brave.propagation.Propagation;
import brave.propagation.TraceContext;
-import brave.propagation.TraceContextOrSamplingFlags;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
@@ -90,7 +89,6 @@ class TraceExchangeFilterFunction implements ExchangeFilterFunction {
private static final Log log = LogFactory.getLog(
TraceExchangeFilterFunction.class);
private static final String CLIENT_SPAN_KEY = "sleuth.webclient.clientSpan";
- private static final String CLIENT_SPAN_ALREADY_PROCESSED_KEY = "sleuth.webclient.clientSpanAlreadyProcessed";
static final Propagation.Setter SETTER =
new Propagation.Setter() {
@@ -138,7 +136,6 @@ class TraceExchangeFilterFunction implements ExchangeFilterFunction {
.flatMap(anyAndContext -> {
Object any = anyAndContext.getT1();
Span clientSpan = anyAndContext.getT2().get(CLIENT_SPAN_KEY);
- boolean clientSpanAlreadyProcessed = anyAndContext.getT2().get(CLIENT_SPAN_ALREADY_PROCESSED_KEY);
Mono continuation;
final Tracer.SpanInScope ws = tracer().withSpanInScope(clientSpan);
if (any instanceof Throwable) {
@@ -148,13 +145,6 @@ class TraceExchangeFilterFunction implements ExchangeFilterFunction {
}
return continuation.doAfterSuccessOrError(
(clientResponse, throwable1) -> {
- if (clientSpanAlreadyProcessed) {
- if (log.isDebugEnabled()) {
- log.debug("Another component will process the response. Skipping");
- ws.close();
- return;
- }
- }
Throwable throwable = throwable1;
boolean error = clientResponse.statusCode().is4xxClientError() ||
clientResponse.statusCode().is5xxServerError();
@@ -177,14 +167,6 @@ class TraceExchangeFilterFunction implements ExchangeFilterFunction {
if (log.isDebugEnabled()) {
log.debug("Instrumenting WebClient call");
}
- TraceContextOrSamplingFlags flags = httpTracing().tracing()
- .propagation().extractor(GETTER).extract(request);
- if (flags != TraceContextOrSamplingFlags.EMPTY) {
- if (log.isDebugEnabled()) {
- log.debug("The request was already instrumented. Will not do it again");
- }
- return c.put(CLIENT_SPAN_ALREADY_PROCESSED_KEY, true);
- }
Span parent = c.getOrDefault(Span.class, null);
Span clientSpan = handler().handleSend(injector(), builder,
request, tracer().nextSpan());
@@ -197,8 +179,7 @@ class TraceExchangeFilterFunction implements ExchangeFilterFunction {
log.debug("Reactor Context got injected with the client span " + clientSpan);
}
}
- return c.put(CLIENT_SPAN_ALREADY_PROCESSED_KEY, false)
- .put(CLIENT_SPAN_KEY, clientSpan);
+ return c.put(CLIENT_SPAN_KEY, clientSpan);
});
return exchange;
}
diff --git a/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-sleuth-dependencies/pom.xml
index deecc35f2..3d4b166d7 100644
--- a/spring-cloud-sleuth-dependencies/pom.xml
+++ b/spring-cloud-sleuth-dependencies/pom.xml
@@ -33,7 +33,6 @@
2.5.0
1.1.2
2.3.3
- 4.16.1
0.28.0
@@ -83,37 +82,6 @@
spring-cloud-starter-sleuth
${project.version}
-
-
- io.zipkin.brave
- brave
- ${brave.version}
-
-
- io.zipkin.brave
- brave-context-log4j2
- ${brave.version}
-
-
- io.zipkin.brave
- brave-instrumentation-spring-web
- ${brave.version}
-
-
- io.zipkin.brave
- brave-instrumentation-spring-webmvc
- ${brave.version}
-
-
- io.zipkin.brave
- brave-instrumentation-httpclient
- ${brave.version}
-
-
- io.zipkin.brave
- brave-instrumentation-httpasyncclient
- ${brave.version}
-
io.zipkin.java