From 4af7e8ff1818855f201b6fed0dc60963eeed305c Mon Sep 17 00:00:00 2001 From: Rob Carlan Date: Wed, 25 Mar 2026 16:38:03 -0400 Subject: [PATCH] remove random context race --- .../java/datadog/trace/core/DDSpanContext.java | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/dd-trace-core/src/main/java/datadog/trace/core/DDSpanContext.java b/dd-trace-core/src/main/java/datadog/trace/core/DDSpanContext.java index a17d7684a71..612209ed1be 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/DDSpanContext.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/DDSpanContext.java @@ -44,7 +44,6 @@ import java.util.Objects; import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; import java.util.function.Function; import javax.annotation.Nonnull; @@ -690,18 +689,7 @@ public void mergePathwayContext(PathwayContext pathwayContext) { if (pathwayContext == null) { return; } - - // This is purposely not thread safe - // The code randomly chooses between the two PathwayContexts. - // If there is a race, then that's okay - if (this.pathwayContext.isStarted()) { - // Randomly select between keeping the current context (0) or replacing (1) - if (ThreadLocalRandom.current().nextInt(2) == 1) { - this.pathwayContext = pathwayContext; - } - } else { - this.pathwayContext = pathwayContext; - } + this.pathwayContext = pathwayContext; } public CoreTracer getTracer() {