Repository navigation
Disable service discovery in CI Visibility agentless mode - #12908
daniel-mohedano wants to merge 1 commit into
Conversation
CI Visibility Test Environment - sbt-scalatestJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - nebula-release-pluginJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
This comment has been minimized.
This comment has been minimized.
CI Visibility Test Environment - netflix-zuulJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - pass4sJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - reactive-streams-jvmJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - heliboardJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
CI Visibility Test Environment - sonar-kotlinJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - jolokiaJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - okhttpJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - spring_bootJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
More details
The new default disables service discovery only when CI Visibility and agentless mode are both enabled, while preserving explicit overrides. The completed static review found no actionable regressions.
🤖 Bits Code Review · Commit baefd31
CI Visibility Test Environment - sonar-javaJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
What Does This Do
Disables service discovery by default when CI Visibility runs in agentless mode. Setting
DD_TRACE_SERVICE_DISCOVERY_ENABLED=truestill turns it back on.Motivation
On Linux, 1 second after startup, service discovery loads JNA on a background thread to write the tracer metadata file. JNA adds new system properties (
jnidispatch.path,jna.loaded,jna.platform.library.path).On Java 8, system properties are a
Hashtablewith fail-fast iterators. Any application thread iterating them at that moment throwsConcurrentModificationException. The Gradle launcher does exactly that at startup, so Gradle builds instrumented with the tracer can fail with:This caused 13 failures of
GradleLauncherSmokeTeston Java 8 onmasterover the last 3 weeks.The metadata file is only read by an Agent running on the same host. In CI Visibility agentless mode there is usually no Agent, and the instrumented processes are short-lived build tools and test JVMs. So the file brings little value there.
Additional Notes
The race still exists for other Java 8 applications on Linux that iterate system properties around startup. That would need a separate fix in service discovery.
test-environment-trigger: skip