From f027196b844c0d5d232777b895e701376707b7e3 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 25 Nov 2020 14:37:14 +0100 Subject: [PATCH] Stops wrapping the Reactor's ExecutorService; fixes gh-1786 --- .../instrument/reactor/TraceReactorAutoConfiguration.java | 4 ---- .../autoconfig/zipkin2/ZipkinAutoConfigurationTests.java | 8 ++++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java index 97e2ceda0..a548ff0aa 100644 --- a/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java +++ b/spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/instrument/reactor/TraceReactorAutoConfiguration.java @@ -42,7 +42,6 @@ import org.springframework.cloud.context.scope.refresh.RefreshScopeRefreshedEven import org.springframework.cloud.sleuth.Tracer; import org.springframework.cloud.sleuth.autoconfig.brave.BraveAutoConfiguration; import org.springframework.cloud.sleuth.autoconfig.otel.OtelAutoConfiguration; -import org.springframework.cloud.sleuth.instrument.async.TraceableScheduledExecutorService; import org.springframework.cloud.sleuth.instrument.reactor.ReactorSleuth; import org.springframework.context.ApplicationListener; import org.springframework.context.ConfigurableApplicationContext; @@ -187,9 +186,6 @@ class HookRegisteringBeanDefinitionRegistryPostProcessor implements BeanDefiniti else if (property == SleuthReactorProperties.InstrumentationType.MANUAL) { decorateOnLast(ReactorSleuth.springContextSpanOperator(springContext)); } - Schedulers.setExecutorServiceDecorator(TraceReactorAutoConfiguration.SLEUTH_REACTOR_EXECUTOR_SERVICE_KEY, - (scheduler, scheduledExecutorService) -> new TraceableScheduledExecutorService(springContext, - scheduledExecutorService)); } private static void decorateOnLast(Function, ? extends Publisher> function) { diff --git a/tests/common/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfigurationTests.java b/tests/common/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfigurationTests.java index 1f34584cb..8ee4053ac 100644 --- a/tests/common/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfigurationTests.java +++ b/tests/common/src/main/java/org/springframework/cloud/sleuth/autoconfig/zipkin2/ZipkinAutoConfigurationTests.java @@ -120,7 +120,7 @@ public abstract class ZipkinAutoConfigurationTests { context.getBean(Tracer.class).nextSpan().name("foo").tag("foo", "bar").start().end(); context.getBean(ZipkinAutoConfiguration.REPORTER_BEAN_NAME, AsyncReporter.class).flush(); - Awaitility.await().atMost(250, TimeUnit.MILLISECONDS) + Awaitility.await().atMost(5, TimeUnit.SECONDS) .untilAsserted(() -> then(this.server.getRequestCount()).isGreaterThan(1)); Awaitility.await().atMost(5, TimeUnit.SECONDS).untilAsserted(() -> { @@ -147,7 +147,7 @@ public abstract class ZipkinAutoConfigurationTests { "spring.zipkin.encoder=JSON_V1").run(context -> { context.getBean(Tracer.class).nextSpan().name("foo").tag("foo", "bar").start().end(); - Awaitility.await().atMost(250, TimeUnit.MILLISECONDS) + Awaitility.await().atMost(5, TimeUnit.SECONDS) .untilAsserted(() -> then(this.server.getRequestCount()).isGreaterThan(0)); Awaitility.await().atMost(5, TimeUnit.SECONDS).untilAsserted(() -> { @@ -209,12 +209,12 @@ public abstract class ZipkinAutoConfigurationTests { context.getBean(Tracer.class).nextSpan().name("foo").tag("foo", "bar").start().end(); - Awaitility.await().atMost(250, TimeUnit.MILLISECONDS) + Awaitility.await().atMost(5, TimeUnit.SECONDS) .untilAsserted(() -> then(this.server.getRequestCount()).isEqualTo(0)); context.getBean(ZipkinAutoConfiguration.REPORTER_BEAN_NAME, AsyncReporter.class).flush(); MyConfig.MySender sender = context.getBean(MyConfig.MySender.class); - Awaitility.await().atMost(250, TimeUnit.MILLISECONDS) + Awaitility.await().atMost(5, TimeUnit.SECONDS) .untilAsserted(() -> then(sender.isSpanSent()).isTrue()); }); }