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