From 08c2d21da242e10b1d4b24a28aa124e9be57e654 Mon Sep 17 00:00:00 2001 From: "alejandro.gonzalez" Date: Thu, 21 May 2026 11:42:58 +0200 Subject: [PATCH 1/4] [java] Mark test_log_generation_enabled as missing_feature for vertx3/vertx4; fix vertx3 build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The test was previously passing for vertx3/vertx4 only because a bug in NettyMultipartHelper caused UnsupportedOperationException from Vert.x's NettyFileUpload.getHttpDataType() to bubble up to ByteBuddy's suppress handler, which logged it via ExceptionLogger with a Throwable attached — the DDTelemetryLogger then collected it as a telemetry log payload. After fixing that bug in dd-trace-java#11268, vertx3/vertx4 no longer produce agent telemetry logs in the DEFAULT scenario, matching the behavior of play, akka-http, etc. Also add slf4j-api + slf4j-jdk14 to vertx3/pom.xml to fix a compilation error introduced in #6882 where Api10RouteProvider.java was added with an SLF4J import but without the required dependency. --- manifests/java.yml | 2 ++ utils/build/docker/java/vertx3/pom.xml | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/manifests/java.yml b/manifests/java.yml index 2460a94661a..4a1e700884e 100644 --- a/manifests/java.yml +++ b/manifests/java.yml @@ -4395,6 +4395,8 @@ manifest: jersey-grizzly2: missing_feature spring-boot-3-native: missing_feature ratpack: missing_feature + vertx3: missing_feature + vertx4: missing_feature tests/test_telemetry.py::Test_MessageBatch: - weblog_declaration: "*": v1.23.0 diff --git a/utils/build/docker/java/vertx3/pom.xml b/utils/build/docker/java/vertx3/pom.xml index 0aca843b1fd..1dc1da69472 100644 --- a/utils/build/docker/java/vertx3/pom.xml +++ b/utils/build/docker/java/vertx3/pom.xml @@ -70,6 +70,16 @@ activation 1.1.1 + + org.slf4j + slf4j-api + 1.7.36 + + + org.slf4j + slf4j-jdk14 + 1.7.36 + com.squareup.okhttp3 okhttp From 4b153c315890d61e62ee909ea88b57c1cb7aff28 Mon Sep 17 00:00:00 2001 From: "alejandro.gonzalez" Date: Thu, 21 May 2026 13:40:13 +0200 Subject: [PATCH 2/4] =?UTF-8?q?Revert=20vertx3=20pom.xml=20slf4j=20change?= =?UTF-8?q?=20=E2=80=94=20vertx-core=203.9.x=20already=20provides=20slf4j-?= =?UTF-8?q?api=20transitively?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/build/docker/java/vertx3/pom.xml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/utils/build/docker/java/vertx3/pom.xml b/utils/build/docker/java/vertx3/pom.xml index 1dc1da69472..0aca843b1fd 100644 --- a/utils/build/docker/java/vertx3/pom.xml +++ b/utils/build/docker/java/vertx3/pom.xml @@ -70,16 +70,6 @@ activation 1.1.1 - - org.slf4j - slf4j-api - 1.7.36 - - - org.slf4j - slf4j-jdk14 - 1.7.36 - com.squareup.okhttp3 okhttp From 077353466fffe1647d382f1f63927f6634645b17 Mon Sep 17 00:00:00 2001 From: "alejandro.gonzalez" Date: Thu, 21 May 2026 14:10:16 +0200 Subject: [PATCH 3/4] =?UTF-8?q?Remove=20AIDM-583=20workaround=20from=20tes?= =?UTF-8?q?t=5Fjava=5Ftelemetry=5Flogs=20=E2=80=94=20fixed=20in=20dd-trace?= =?UTF-8?q?-java#11268?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The UnsupportedOperationException from NettyFileUpload.getHttpDataType() no longer propagates to the advice exception handler after the fix in dd-trace-java#11268. --- tests/test_library_logs.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/tests/test_library_logs.py b/tests/test_library_logs.py index 77dde8fb53e..388df9bbff0 100644 --- a/tests/test_library_logs.py +++ b/tests/test_library_logs.py @@ -91,13 +91,6 @@ def test_java_telemetry_logs(self): if context.weblog_variant == "spring-boot-wildfly": # APPSEC-56111: allowed_patterns.append(re.escape("Failed to determine dependency for uri {}")) - if context.weblog_variant in ("vertx3", "vertx4"): - # AIDM-583: - allowed_patterns.append( - re.escape( - "Failed to handle exception in instrumentation for io.netty.handler.codec.http.multipart.HttpPostMultipartRequestDecoder" - ) - ) compiled_paterns = [re.compile(p, re.MULTILINE | re.DOTALL) for p in allowed_patterns] data = interfaces.library.get_telemetry_data() data = [d["request"]["content"] for d in data] From c872f2a14d10163c6f7d2887c41dbcf37239ee23 Mon Sep 17 00:00:00 2001 From: "alejandro.gonzalez" Date: Thu, 21 May 2026 14:50:43 +0200 Subject: [PATCH 4/4] =?UTF-8?q?Restore=20AIDM-583=20workaround=20=E2=80=94?= =?UTF-8?q?=20dd-trace-java#11268=20not=20yet=20merged=20to=20prod?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The fix for AIDM-583 lives in dd-trace-java#11268 (not yet merged). System-tests CI runs with the production agent, where the error still occurs. Keep the allowed_patterns entry until the tracer fix reaches prod. --- tests/test_library_logs.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/test_library_logs.py b/tests/test_library_logs.py index 388df9bbff0..6ba31f62b4c 100644 --- a/tests/test_library_logs.py +++ b/tests/test_library_logs.py @@ -91,6 +91,13 @@ def test_java_telemetry_logs(self): if context.weblog_variant == "spring-boot-wildfly": # APPSEC-56111: allowed_patterns.append(re.escape("Failed to determine dependency for uri {}")) + if context.weblog_variant in ("vertx3", "vertx4"): + # AIDM-583: fixed in dd-trace-java#11268, remove this once that PR is merged + allowed_patterns.append( + re.escape( + "Failed to handle exception in instrumentation for io.netty.handler.codec.http.multipart.HttpPostMultipartRequestDecoder" + ) + ) compiled_paterns = [re.compile(p, re.MULTILINE | re.DOTALL) for p in allowed_patterns] data = interfaces.library.get_telemetry_data() data = [d["request"]["content"] for d in data]