Skip to content

Fix GraalVM native smoke-test OOM and configured MASS Gradle download for arm64.#11698

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 11 commits into
masterfrom
alexeyk/fixed-graalvm-arm64-ci-build
Jun 23, 2026
Merged

Fix GraalVM native smoke-test OOM and configured MASS Gradle download for arm64.#11698
gh-worker-dd-mergequeue-cf854d[bot] merged 11 commits into
masterfrom
alexeyk/fixed-graalvm-arm64-ci-build

Conversation

@AlexeyKuznetsov-DD

@AlexeyKuznetsov-DD AlexeyKuznetsov-DD commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

What Does This Do

  • Move test_smoke_graalvm (amd64) and test_smoke_graalvm_arm64 to tier_l (20 GiB) — both build two native images concurrently and peaked at the old 16 GiB limit.
  • Cap the quarkus native-image heap with quarkus.native.native-image-xmx=4g (mirrors spring's -Xmx4096M; quarkus was uncapped at ~75% of the container).
  • Bound native-image parallelism on CI (-H:NumberOfThreads / -J-XX:ActiveProcessorCount, tied to KUBERNETES_CPU_REQUEST) — the container has a CPU request but no limit, so native-image otherwise sizes threads to the whole host.
  • Configured the Gradle distribution download through the MASS cache for arm64.

Motivation

test_smoke_graalvm_arm64 (graalvm21/graalvm25) was failing with exit code 137 — OOMKilled. The job builds the spring-boot-3.0-native and quarkus-native images concurrently in one 16 GiB container:

Additional Notes

  • Build-time/CI-only change — no production code touched.
  • Validated: all six GraalVm jobs (17/21/25 × amd64/arm64) pass first-try.

@AlexeyKuznetsov-DD AlexeyKuznetsov-DD self-assigned this Jun 22, 2026
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD added type: enhancement Enhancements and improvements tag: no release notes Changes to exclude from release notes labels Jun 22, 2026
@datadog-official

This comment has been minimized.

@dd-octo-sts

dd-octo-sts Bot commented Jun 22, 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 13.99 s 13.95 s [-0.5%; +1.0%] (no difference)
startup:insecure-bank:tracing:Agent 12.96 s 13.00 s [-1.0%; +0.4%] (no difference)
startup:petclinic:appsec:Agent 16.87 s 16.76 s [-0.4%; +1.6%] (no difference)
startup:petclinic:iast:Agent 16.81 s 16.92 s [-1.5%; +0.2%] (no difference)
startup:petclinic:profiling:Agent 16.32 s 16.90 s [-7.9%; +1.0%] (no difference)
startup:petclinic:sca:Agent 16.86 s 16.74 s [-0.1%; +1.5%] (no difference)
startup:petclinic:tracing:Agent 15.97 s 16.02 s [-1.3%; +0.6%] (no difference)

Commit: f00ea4c5 · 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.

@AlexeyKuznetsov-DD AlexeyKuznetsov-DD changed the title Cap quarkus-native native-image builder heap to fix arm64 OOM. Fixed graal VM OOM under arm64. Jun 22, 2026
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD changed the title Fixed graal VM OOM under arm64. Fix GraalVM native smoke-test OOM and configured MASS Gradle download for arm64. Jun 23, 2026
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD marked this pull request as ready for review June 23, 2026 02:26
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD requested review from a team as code owners June 23, 2026 02:26
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD requested review from ValentinZakharov and randomanderson and removed request for a team June 23, 2026 02:26
@PerfectSlayer PerfectSlayer added the comp: native-image GraalVM native-image label Jun 23, 2026

@PerfectSlayer PerfectSlayer 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.

Sounds good to me. Happy to have another pair of eye for the tier change part.

@bric3 bric3 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.

LGTM
Thanks for the improvement

Comment thread .gitlab-ci.yml
needs: *needs_build_tests_smoke
tags: [ "arch:amd64" ]
variables:
<<: *tier_l_variables

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.

note: @PerfectSlayer the tier L variables are defined here

.tier_l:
variables: &tier_l_variables
GRADLE_WORKERS: 6
GRADLE_MEMORY_MIN: 1G
GRADLE_MEMORY_MAX: 6G
KUBERNETES_CPU_REQUEST: 10
KUBERNETES_MEMORY_REQUEST: 20Gi
KUBERNETES_MEMORY_LIMIT: 20Gi

@sarahchen6 sarahchen6 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.

TIL we configure this

@ValentinZakharov ValentinZakharov 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.

Looks good

@AlexeyKuznetsov-DD

Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jun 23, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-06-23 17:54:43 UTC ℹ️ Start processing command /merge


2026-06-23 17:54:49 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 1h (p90).


2026-06-23 18:59:00 UTC ℹ️ MergeQueue: This merge request was merged

@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d Bot merged commit 8ae094c into master Jun 23, 2026
582 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d Bot deleted the alexeyk/fixed-graalvm-arm64-ci-build branch June 23, 2026 18:58
@github-actions github-actions Bot added this to the 1.64.0 milestone Jun 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: native-image GraalVM native-image tag: no release notes Changes to exclude from release notes type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants