From 076e26216f5ca6f68e68669642ae4eed02fc3df8 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 2 Sep 2026 13:09:27 -0400 Subject: [PATCH 1/2] Fix WildFly scheduled test race --- .../war/src/main/java/com/example/hello/HelloController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/hello/HelloController.java b/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/hello/HelloController.java index 2592edc3ec8..111903ae2db 100644 --- a/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/hello/HelloController.java +++ b/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/hello/HelloController.java @@ -20,7 +20,8 @@ public CompletableFuture> enableScheduling() { ENABLED.set(true); return CompletableFuture.supplyAsync( () -> { - while (!ENABLED.get()) { + // Wait until the scheduled task picks up the request. + while (ENABLED.get()) { try { Thread.sleep(200); } catch (InterruptedException e) { From 1f786fa16c23a00036cad612a7e3cebd30be6424 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 3 Sep 2026 10:53:21 -0400 Subject: [PATCH 2/2] Clarify WildFly scheduled trace request flag --- .../spring-ear/war/src/main/java/com/example/Common.java | 2 +- .../war/src/main/java/com/example/ejb/ScheduledEjb.java | 4 ++-- .../src/main/java/com/example/hello/HelloController.java | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/Common.java b/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/Common.java index 42cd6cc1ff7..d51fcf5a5d0 100644 --- a/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/Common.java +++ b/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/Common.java @@ -4,5 +4,5 @@ public class Common { // for the sake of this example it avoids boilerplate ton inject an ejb into a spring context - public static final AtomicBoolean ENABLED = new AtomicBoolean(false); + public static final AtomicBoolean TRACE_REQUEST_PENDING = new AtomicBoolean(false); } diff --git a/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/ejb/ScheduledEjb.java b/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/ejb/ScheduledEjb.java index 0550a4e3b1e..323e6adde40 100644 --- a/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/ejb/ScheduledEjb.java +++ b/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/ejb/ScheduledEjb.java @@ -1,6 +1,6 @@ package com.example.ejb; -import static com.example.Common.ENABLED; +import static com.example.Common.TRACE_REQUEST_PENDING; import datadog.trace.api.Trace; import javax.ejb.Schedule; @@ -11,7 +11,7 @@ public class ScheduledEjb { @Schedule(second = "*/1", minute = "*", hour = "*") public void runIt() { - if (ENABLED.getAndSet(false)) { + if (TRACE_REQUEST_PENDING.getAndSet(false)) { generateSomeTrace(); } } diff --git a/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/hello/HelloController.java b/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/hello/HelloController.java index 111903ae2db..e10f9a39982 100644 --- a/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/hello/HelloController.java +++ b/dd-smoke-tests/wildfly/spring-ear/war/src/main/java/com/example/hello/HelloController.java @@ -1,6 +1,6 @@ package com.example.hello; -import static com.example.Common.ENABLED; +import static com.example.Common.TRACE_REQUEST_PENDING; import java.util.concurrent.CompletableFuture; import org.springframework.http.ResponseEntity; @@ -17,11 +17,11 @@ public String hello() { @RequestMapping("/enableScheduling") public CompletableFuture> enableScheduling() { - ENABLED.set(true); + TRACE_REQUEST_PENDING.set(true); return CompletableFuture.supplyAsync( () -> { // Wait until the scheduled task picks up the request. - while (ENABLED.get()) { + while (TRACE_REQUEST_PENDING.get()) { try { Thread.sleep(200); } catch (InterruptedException e) {