Skip to content

Increase slow Java 11 test timeouts on ARM64 CI - #13037

Open
AlexeyKuznetsov-DD wants to merge 2 commits into
masterfrom
alexeyk/arm64-java11-test-timeouts
Open

AlexeyKuznetsov-DD wants to merge 2 commits into
masterfrom
alexeyk/arm64-java11-test-timeouts

Conversation

@AlexeyKuznetsov-DD

Copy link
Copy Markdown
Contributor

What Does This Do

Increase the regular test task timeout from 20 to 30 minutes in java-concurrent-1.8 and javax-servlet-3.0 when CI is present, HostPlatform.isLinuxArm64() is true, and the selected test launcher is Java 11.

Motivation

Repeated agent installation makes class retransformation expensive on Java 11 HotSpot. JDK-8139551 batches code-cache invalidation, but the Java 11 builds investigated still use the older implementation. These suites can exceed the existing task timeout while making progress: a diagnostic java-concurrent run completed in approximately 26 minutes, and a completed servlet run took approximately 19 minutes.

Give these two suites additional headroom while the test-harness lifecycle is addressed separately.

Additional Notes

Observed failure:

Requesting stop of task ':dd-java-agent:instrumentation:java:java-concurrent:java-concurrent-1.8:test' as it has exceeded its configured timeout of 20m.

Dumps from timed-out suites show AgentInstaller.installBytebuddyAgent in InstrumentationSpecification.setupSpec, consistent with installation overhead.

Validation: asserted 18 resolved task-timeout values across the two modules' test, forkedTest, and latestDepTest tasks, using Gradle dry runs with Java 11/17 and a simulated Linux ARM64 host. Only regular Java 11 tests with CI present resolve to 30 minutes; Java 17 and non-CI runs resolve to 20 minutes. Both modules' Spotless formatting passed. Full test suites were not executed.

Contributor Checklist

Give java-concurrent and servlet tests 30 minutes on Linux ARM64 CI with a Java 11 test launcher. Keep the existing timeout for other runs.

[ci: ARM64, NON_DEFAULT_JVMS]
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD added type: bug fix Bug fix comp: testing Testing tag: no release notes Changes to exclude from release notes tag: ai generated Largely based on code generated by an AI or LLM labels Oct 23, 2026
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD self-assigned this Oct 23, 2026
@AlexeyKuznetsov-DD
AlexeyKuznetsov-DD marked this pull request as ready for review October 23, 2026 22:27
@AlexeyKuznetsov-DD
AlexeyKuznetsov-DD requested a review from a team as a code owner October 23, 2026 22:27
@AlexeyKuznetsov-DD
AlexeyKuznetsov-DD requested review from sarahchen6 and removed request for a team October 23, 2026 22:27
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T22:30:31.792700Z a70a5f1 Draft marked ready
🔒 Security Review 🔄 Running since 2026-10-23T22:28:07.110624Z a70a5f1 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@datadog-official datadog-official Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: PASS

More details

The 30-minute timeout is confined to regular Java 11 tests on Linux ARM64 CI. Other Java versions, environments, and test suites retain their existing timeout.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Bits Code Review · Commit a70a5f1

@datadog-official

This comment has been minimized.

@dd-octo-sts

dd-octo-sts Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

🟢 Java Benchmark SLOs — All performance SLOs passed

Suite Status
Startup 🟢 pass

SLO thresholds are defined here based on automatically generated metrics. A warning is raised when results are within 5% of the threshold.

PR vs. master results
Scenario Candidate master Δ (95% CI of mean)
startup:insecure-bank:iast:Agent 14.74 s 14.69 s [-0.5%; +1.1%] (no difference)
startup:insecure-bank:tracing:Agent 13.52 s 13.72 s [-2.3%; -0.6%] (maybe better)
startup:petclinic:appsec:Agent 17.07 s 16.96 s [-0.2%; +1.5%] (no difference)
startup:petclinic:iast:Agent 16.00 s 16.95 s [-11.4%; +0.3%] (unstable)
startup:petclinic:profiling:Agent 16.61 s 16.92 s [-2.9%; -0.8%] (maybe better)
startup:petclinic:sca:Agent 17.02 s 16.85 s [+0.1%; +1.9%] (maybe worse)
startup:petclinic:tracing:Agent 16.06 s 16.12 s [-1.2%; +0.4%] (no difference)

Commit: 7b607d19 · CI Pipeline · Benchmarking Platform UI


Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: testing Testing tag: ai generated Largely based on code generated by an AI or LLM tag: no release notes Changes to exclude from release notes type: bug fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant