From 573cd0b4e9d3ee576f66cd4a6ce5e415575bda59 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Sun, 29 Nov 2020 22:26:50 -0800 Subject: [PATCH] Propagate context even when no span (#1802) * Propagate context even when no span * Don't propagate root context --- .../api/concurrent/ExecutorInstrumentationUtils.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/concurrent/ExecutorInstrumentationUtils.java b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/concurrent/ExecutorInstrumentationUtils.java index 41f56843c1..44900f6a4e 100644 --- a/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/concurrent/ExecutorInstrumentationUtils.java +++ b/javaagent-api/src/main/java/io/opentelemetry/javaagent/instrumentation/api/concurrent/ExecutorInstrumentationUtils.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.instrumentation.api.concurrent; -import io.opentelemetry.api.trace.Span; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.api.context.ContextPropagationDebug; import io.opentelemetry.javaagent.instrumentation.api.ContextStore; @@ -26,11 +25,12 @@ public class ExecutorInstrumentationUtils { return false; } - Span span = Span.current(); Class taskClass = task.getClass(); Class enclosingClass = taskClass.getEnclosingClass(); - return span.getSpanContext().isValid() + // not much point in propagating root context + // plus it causes failures under otel.internal.failOnContextLeak=true + return Context.current() != Context.root() // TODO Workaround for // https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/787 && !taskClass.getName().equals("org.apache.tomcat.util.net.NioEndpoint$SocketProcessor")