From ccc2670b62cb645a09355eb732eb65b35c7de42c Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Tue, 13 Jan 2026 19:00:18 -0500 Subject: [PATCH 01/15] Tweak CI to reduce processing time --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index edd492b070e..59e0e46c065 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -695,7 +695,7 @@ test_inst: GRADLE_TARGET: ":instrumentationTest" CACHE_TYPE: "inst" parallel: - matrix: *test_matrix_6 + matrix: *test_matrix_8 test_inst_latest: extends: .test_job_with_test_agent From 427154dd4627a13df1d86686f5fc9fb6a06690a5 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Tue, 13 Jan 2026 19:48:02 -0500 Subject: [PATCH 02/15] Tweak memory and CPU --- .gitlab-ci.yml | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 59e0e46c065..11c558b8aaa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -146,11 +146,10 @@ default: stage: build variables: MAVEN_OPTS: "-Xms256M -Xmx1024M" - GRADLE_WORKERS: 2 - GRADLE_MEM: 3G - KUBERNETES_CPU_REQUEST: 8 - KUBERNETES_MEMORY_REQUEST: 10Gi - KUBERNETES_MEMORY_LIMIT: 10Gi + GRADLE_MEM_PERCENT: 50 + KUBERNETES_CPU_REQUEST: 10 + KUBERNETES_MEMORY_REQUEST: 20Gi + KUBERNETES_MEMORY_LIMIT: 20Gi CACHE_TYPE: "lib" #default FF_USE_FASTZIP: "true" CACHE_COMPRESSION_LEVEL: "slowest" @@ -210,8 +209,8 @@ default: ${MAVEN_REPOSITORY_PROXY}/io/github/bric3/gradle/cgroup2/patcher/gradle-cgroup2-patcher/0.0.1/gradle-cgroup2-patcher-0.0.1.jar \ || echo "No local agent found" file /tmp/gradle-cgroup2-patcher.jar - - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xms$GRADLE_MEM -Xmx$GRADLE_MEM -javaagent:/tmp/gradle-cgroup2-patcher.jar -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'" - - export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --parallel --max-workers=$GRADLE_WORKERS" + - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-XX:InitialRAMPercentage=$GRADLE_MEM_PERCENT -XX:MaxRAMPercentage=$GRADLE_MEM_PERCENT -javaagent:/tmp/gradle-cgroup2-patcher.jar -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'" + - export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --parallel" - *normalize_node_index # for weird reasons, gradle will always "chmod 700" the .gradle folder # with Gitlab caching, .gradle is always owned by root and thus gradle's chmod invocation fails @@ -308,10 +307,6 @@ build_tests: variables: BUILD_CACHE_POLICY: push DEPENDENCY_CACHE_POLICY: pull - GRADLE_MEM: 4G - GRADLE_WORKERS: 3 - KUBERNETES_MEMORY_REQUEST: 18Gi - KUBERNETES_MEMORY_LIMIT: 18Gi parallel: matrix: - GRADLE_TARGET: ":baseTest" @@ -391,12 +386,6 @@ spotless: extends: .gradle_build stage: tests needs: [] - variables: - # TODO: Latest version of spotless is failing with OOM on CI only. - # Setting 8G memory solving this issue, but we need to solve it eventually. - GRADLE_MEM: 8G - KUBERNETES_MEMORY_REQUEST: 18Gi - KUBERNETES_MEMORY_LIMIT: 18Gi script: - ./gradlew --version - ./gradlew spotlessCheck $GRADLE_ARGS @@ -580,11 +569,6 @@ muzzle-dep-report: needs: [ build_tests ] stage: tests variables: - KUBERNETES_MEMORY_REQUEST: 20Gi - KUBERNETES_MEMORY_LIMIT: 20Gi - KUBERNETES_CPU_REQUEST: 10 - GRADLE_WORKERS: 4 - GRADLE_MEM: 3G GRADLE_PARAMS: "-PskipFlakyTests" CONTINUE_ON_FAILURE: "false" TESTCONTAINERS_CHECKS_DISABLE: "true" @@ -606,7 +590,7 @@ muzzle-dep-report: export PROFILER_COMMAND="-XX:StartFlightRecording=settings=profile,filename=/tmp/${CI_JOB_NAME_SLUG}.jfr,dumponexit=true"; fi - *prepare_test_env - - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xms$GRADLE_MEM -Xmx$GRADLE_MEM $PROFILER_COMMAND -javaagent:/tmp/gradle-cgroup2-patcher.jar -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMaxHeapSize=1024M -Ddatadog.forkedMinHeapSize=128M" + - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-XX:InitialRAMPercentage=$GRADLE_MEM_PERCENT -XX:MaxRAMPercentage=$GRADLE_MEM_PERCENT $PROFILER_COMMAND -javaagent:/tmp/gradle-cgroup2-patcher.jar -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMaxHeapSize=1024M -Ddatadog.forkedMinHeapSize=128M" - ./gradlew --version - ./gradlew $GRADLE_TARGET $GRADLE_PARAMS -PtestJvm=$testJvm -Pslot=$CI_NODE_INDEX/$CI_NODE_TOTAL $GRADLE_ARGS --continue || $CONTINUE_ON_FAILURE after_script: From 1e025bb215603b0c45b020a03590d74c4db428d2 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Tue, 13 Jan 2026 20:04:39 -0500 Subject: [PATCH 03/15] Tweak memory --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 11c558b8aaa..09e2d292c69 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -146,7 +146,7 @@ default: stage: build variables: MAVEN_OPTS: "-Xms256M -Xmx1024M" - GRADLE_MEM_PERCENT: 50 + GRADLE_MEM_PERCENT: 40 KUBERNETES_CPU_REQUEST: 10 KUBERNETES_MEMORY_REQUEST: 20Gi KUBERNETES_MEMORY_LIMIT: 20Gi From 36404ac2d17059cd9a16989143a801066f39c184 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 28 Jan 2026 11:15:16 -0500 Subject: [PATCH 04/15] Minor. --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 371990ee2fe..a047efa6603 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -374,6 +374,9 @@ spotless: extends: .gradle_build stage: tests needs: [] + variables: + KUBERNETES_MEMORY_REQUEST: 10Gi + KUBERNETES_MEMORY_LIMIT: 10Gi script: - ./gradlew --version - ./gradlew spotlessCheck $GRADLE_ARGS From 3691310f5bbeb136b0ff45d64f6cf35d3f2d0dff Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 28 Jan 2026 11:23:39 -0500 Subject: [PATCH 05/15] Fixed typo. --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a047efa6603..5249301379d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -197,7 +197,7 @@ default: # replace maven central part by MAVEN_REPOSITORY_PROXY in .mvn/wrapper/maven-wrapper.properties - sed -i "s|https://repo.maven.apache.org/maven2/|$MAVEN_REPOSITORY_PROXY|g" .mvn/wrapper/maven-wrapper.properties - mkdir -p .mvn/caches - - export GRADLE_OPTS="-Dorg.gradle.jvmargs='XX:InitialRAMPercentage=$GRADLE_MEM_PERCENT -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'" + - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-XX:InitialRAMPercentage=$GRADLE_MEM_PERCENT -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'" - export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --parallel --max-workers=$GRADLE_WORKERS" - *normalize_node_index # for weird reasons, gradle will always "chmod 700" the .gradle folder @@ -377,6 +377,7 @@ spotless: variables: KUBERNETES_MEMORY_REQUEST: 10Gi KUBERNETES_MEMORY_LIMIT: 10Gi + GRADLE_MEM_PERCENT: 60 script: - ./gradlew --version - ./gradlew spotlessCheck $GRADLE_ARGS @@ -581,7 +582,7 @@ muzzle-dep-report: export PROFILER_COMMAND="-XX:StartFlightRecording=settings=profile,filename=/tmp/${CI_JOB_NAME_SLUG}.jfr,dumponexit=true"; fi - *prepare_test_env - - export GRADLE_OPTS="-Dorg.gradle.jvmargs='XX:InitialRAMPercentage=$GRADLE_MEM_PERCENT $PROFILER_COMMAND -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMaxHeapSize=1024M -Ddatadog.forkedMinHeapSize=128M" + - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-XX:InitialRAMPercentage=$GRADLE_MEM_PERCENT $PROFILER_COMMAND -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMaxHeapSize=1024M -Ddatadog.forkedMinHeapSize=128M" - ./gradlew --version - ./gradlew $GRADLE_TARGET $GRADLE_PARAMS -PtestJvm=$testJvm -Pslot=$CI_NODE_INDEX/$CI_NODE_TOTAL $GRADLE_ARGS --continue || $CONTINUE_ON_FAILURE after_script: From f12dff034f758206374b2bff2e1f3e505d156d47 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 28 Jan 2026 15:15:48 -0500 Subject: [PATCH 06/15] Tweak failed jobs. --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5249301379d..db5c01e6edf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -375,9 +375,8 @@ spotless: stage: tests needs: [] variables: - KUBERNETES_MEMORY_REQUEST: 10Gi - KUBERNETES_MEMORY_LIMIT: 10Gi - GRADLE_MEM_PERCENT: 60 + GRADLE_WORKERS: 10 + GRADLE_MEM_PERCENT: 80 script: - ./gradlew --version - ./gradlew spotlessCheck $GRADLE_ARGS @@ -739,11 +738,12 @@ test_debugger: test_smoke: extends: .test_job variables: + GRADLE_WORKERS: 6 GRADLE_TARGET: "stageMainDist :smokeTest" GRADLE_PARAMS: "-PskipFlakyTests" CACHE_TYPE: "smoke" parallel: - matrix: *test_matrix_8 + matrix: *test_matrix_6 test_ssi_smoke: extends: .test_job From 786e6b4608f66407fe54fe38a1949f6ce4bdab95 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Tue, 17 Feb 2026 13:44:50 -0500 Subject: [PATCH 07/15] Tweak CI. --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 047b9ab30c3..532717e407e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -377,7 +377,7 @@ spotless: needs: [] variables: GRADLE_WORKERS: 10 - GRADLE_MEM_PERCENT: 80 + GRADLE_MEM_PERCENT: 60 script: - ./gradlew --version - ./gradlew spotlessCheck $GRADLE_ARGS @@ -743,12 +743,12 @@ test_debugger: test_smoke: extends: .test_job variables: - GRADLE_WORKERS: 6 + GRADLE_WORKERS: 4 GRADLE_TARGET: "stageMainDist :smokeTest" GRADLE_PARAMS: "-PskipFlakyTests" CACHE_TYPE: "smoke" parallel: - matrix: *test_matrix_6 + matrix: *test_matrix_8 test_ssi_smoke: extends: .test_job From 36a1686fe78b416cdaf67ca777b0a9f179c36525 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Tue, 17 Feb 2026 15:56:55 -0500 Subject: [PATCH 08/15] Tweak spotless. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 532717e407e..0c23692c970 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -376,7 +376,7 @@ spotless: stage: tests needs: [] variables: - GRADLE_WORKERS: 10 + GRADLE_WORKERS: 8 GRADLE_MEM_PERCENT: 60 script: - ./gradlew --version From 89f080778113f1de7149acd86b165f6bbbb0f5d2 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Tue, 17 Feb 2026 16:19:28 -0500 Subject: [PATCH 09/15] Tweak spotless. --- .gitlab-ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0c23692c970..3f0fdbabda8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -375,9 +375,6 @@ spotless: extends: .gradle_build stage: tests needs: [] - variables: - GRADLE_WORKERS: 8 - GRADLE_MEM_PERCENT: 60 script: - ./gradlew --version - ./gradlew spotlessCheck $GRADLE_ARGS From 0a8bc17c1da787f0ee6c39b2d2ebd183cb1c4f17 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Wed, 18 Feb 2026 11:27:55 +0100 Subject: [PATCH 10/15] fix: avoid GradleLauncherSmokeTest inheriting CI's GRADLE_OPTS --- .../datadog/smoketest/GradleLauncherSmokeTest.groovy | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleLauncherSmokeTest.groovy b/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleLauncherSmokeTest.groovy index e27511e3507..d8302d1cfe8 100644 --- a/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleLauncherSmokeTest.groovy +++ b/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleLauncherSmokeTest.groovy @@ -51,7 +51,14 @@ class GradleLauncherSmokeTest extends AbstractGradleTest { } private void givenGradleWrapper(String gradleVersion) { - def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS, ["JAVA_HOME": JAVA_HOME]) + def shellCommandExecutor = new ShellCommandExecutor( + projectFolder.toFile(), + GRADLE_BUILD_TIMEOUT_MILLIS, + [ + "JAVA_HOME": JAVA_HOME, + "GRADLE_OPTS": "" // avoids inheriting CI's GRADLE_OPTS which might be incompatible with the tested JVM + ]) + for (int attempt = 0; attempt < GRADLE_WRAPPER_RETRIES; attempt++) { try { shellCommandExecutor.executeCommand(IOUtils::readFully, "./gradlew", "wrapper", "--gradle-version", gradleVersion) From fbc8392f4677c4128a28420d922c846ed2e7ad23 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 18 Feb 2026 13:56:38 -0500 Subject: [PATCH 11/15] Tweaking memory and spotless. --- .gitlab-ci.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3f0fdbabda8..0d50f189786 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -147,8 +147,10 @@ default: stage: build variables: MAVEN_OPTS: "-Xms256M -Xmx1024M" - GRADLE_WORKERS: 8 - GRADLE_MEM_PERCENT: 40 + GRADLE_WORKERS: 10 + GRADLE_MEMORY_MIN: "1g" + GRADLE_MEMORY_MAX: "6g" + GRADLE_PARALLEL: "true" KUBERNETES_CPU_REQUEST: 10 KUBERNETES_MEMORY_REQUEST: 20Gi KUBERNETES_MEMORY_LIMIT: 20Gi @@ -198,8 +200,8 @@ default: # replace maven central part by MAVEN_REPOSITORY_PROXY in .mvn/wrapper/maven-wrapper.properties - sed -i "s|https://repo.maven.apache.org/maven2/|$MAVEN_REPOSITORY_PROXY|g" .mvn/wrapper/maven-wrapper.properties - mkdir -p .mvn/caches - - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-XX:InitialRAMPercentage=$GRADLE_MEM_PERCENT -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'" - - export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --parallel --max-workers=$GRADLE_WORKERS" + - export GRADLE_OPTS="-Dorg.gradle.parallel=$GRADLE_PARALLEL -Dorg.gradle.jvmargs='-Xms$GRADLE_MEMORY_MIN -Xmx$GRADLE_MEMORY_MAX -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'" + - export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --max-workers=$GRADLE_WORKERS" - *normalize_node_index # for weird reasons, gradle will always "chmod 700" the .gradle folder # with Gitlab caching, .gradle is always owned by root and thus gradle's chmod invocation fails @@ -375,6 +377,8 @@ spotless: extends: .gradle_build stage: tests needs: [] + variables: + GRADLE_PARALLEL: false script: - ./gradlew --version - ./gradlew spotlessCheck $GRADLE_ARGS @@ -581,7 +585,7 @@ muzzle-dep-report: export PROFILER_COMMAND="-XX:StartFlightRecording=settings=profile,filename=/tmp/${CI_JOB_NAME_SLUG}.jfr,dumponexit=true"; fi - *prepare_test_env - - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-XX:InitialRAMPercentage=$GRADLE_MEM_PERCENT $PROFILER_COMMAND -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMaxHeapSize=1024M -Ddatadog.forkedMinHeapSize=128M" + - export GRADLE_OPTS="-Dorg.gradle.parallel=$PARALLEL -Dorg.gradle.jvmargs='-Xms$GRADLE_MEMORY_MIN -Xmx$GRADLE_MEMORY_MAX $PROFILER_COMMAND -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMaxHeapSize=1024M -Ddatadog.forkedMinHeapSize=128M" - ./gradlew --version - ./gradlew $GRADLE_TARGET $GRADLE_PARAMS -PtestJvm=$testJvm -Pslot=$CI_NODE_INDEX/$CI_NODE_TOTAL $GRADLE_ARGS --continue || $CONTINUE_ON_FAILURE after_script: @@ -740,7 +744,6 @@ test_debugger: test_smoke: extends: .test_job variables: - GRADLE_WORKERS: 4 GRADLE_TARGET: "stageMainDist :smokeTest" GRADLE_PARAMS: "-PskipFlakyTests" CACHE_TYPE: "smoke" From a0615dc450743fbb161329aeb9453ec142e7eb70 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 18 Feb 2026 14:09:27 -0500 Subject: [PATCH 12/15] Tweaking memory and spotless. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5a9588cc5eb..26bbd52f702 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -596,7 +596,7 @@ muzzle-dep-report: export PROFILER_COMMAND="-XX:StartFlightRecording=settings=profile,filename=/tmp/${CI_JOB_NAME_SLUG}.jfr,dumponexit=true"; fi - *prepare_test_env - - export GRADLE_OPTS="-Dorg.gradle.parallel=$PARALLEL -Dorg.gradle.jvmargs='-Xms$GRADLE_MEMORY_MIN -Xmx$GRADLE_MEMORY_MAX $PROFILER_COMMAND -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMaxHeapSize=1024M -Ddatadog.forkedMinHeapSize=128M" + - export GRADLE_OPTS="-Dorg.gradle.parallel=$GRADLE_PARALLEL -Dorg.gradle.jvmargs='-Xms$GRADLE_MEMORY_MIN -Xmx$GRADLE_MEMORY_MAX $PROFILER_COMMAND -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMinHeapSize=128M -Ddatadog.forkedMaxHeapSize=1024M" - ./gradlew --version - ./gradlew $GRADLE_TARGET $GRADLE_PARAMS -PtestJvm=$testJvm -Pslot=$CI_NODE_INDEX/$CI_NODE_TOTAL $GRADLE_ARGS --continue || $CONTINUE_ON_FAILURE after_script: From adf6ae4737dd8893ab1106339972d88cdb7e843a Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 18 Feb 2026 14:17:06 -0500 Subject: [PATCH 13/15] Tweak spotless. --- .gitlab-ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 26bbd52f702..9562d838f28 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -376,8 +376,6 @@ spotless: extends: .gradle_build stage: tests needs: [] - variables: - GRADLE_PARALLEL: false script: - ./gradlew --version - ./gradlew spotlessCheck $GRADLE_ARGS From f60d869b2160fb8bb11c43e4abe71d90009dc7ef Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 18 Feb 2026 14:27:48 -0500 Subject: [PATCH 14/15] Reverted --parallel. --- .gitlab-ci.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9562d838f28..e8291f05a81 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -149,7 +149,6 @@ default: GRADLE_WORKERS: 10 GRADLE_MEMORY_MIN: "1g" GRADLE_MEMORY_MAX: "6g" - GRADLE_PARALLEL: "true" KUBERNETES_CPU_REQUEST: 10 KUBERNETES_MEMORY_REQUEST: 20Gi KUBERNETES_MEMORY_LIMIT: 20Gi @@ -199,11 +198,11 @@ default: # replace maven central part by MAVEN_REPOSITORY_PROXY in .mvn/wrapper/maven-wrapper.properties - sed -i "s|https://repo.maven.apache.org/maven2/|$MAVEN_REPOSITORY_PROXY|g" .mvn/wrapper/maven-wrapper.properties - mkdir -p .mvn/caches - - export GRADLE_OPTS="-Dorg.gradle.parallel=$GRADLE_PARALLEL -Dorg.gradle.jvmargs='-Xms$GRADLE_MEMORY_MIN -Xmx$GRADLE_MEMORY_MAX -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'" - - export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --max-workers=$GRADLE_WORKERS" + - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xms$GRADLE_MEMORY_MIN -Xmx$GRADLE_MEMORY_MAX -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'" + - export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --parallel --max-workers=$GRADLE_WORKERS" - *normalize_node_index - # for weird reasons, gradle will always "chmod 700" the .gradle folder - # with Gitlab caching, .gradle is always owned by root and thus gradle's chmod invocation fails + # for weird reasons, Gradle will always "chmod 700" the .gradle folder + # with Gitlab caching, .gradle is always owned by root and thus Gradle's chmod invocation fails # This dance is a hack to have .gradle owned by the Gitlab runner user - gitlab_section_start "gradle-dance" "Fix .gradle directory permissions" - cp -r .gradle .gradle-copy @@ -594,7 +593,7 @@ muzzle-dep-report: export PROFILER_COMMAND="-XX:StartFlightRecording=settings=profile,filename=/tmp/${CI_JOB_NAME_SLUG}.jfr,dumponexit=true"; fi - *prepare_test_env - - export GRADLE_OPTS="-Dorg.gradle.parallel=$GRADLE_PARALLEL -Dorg.gradle.jvmargs='-Xms$GRADLE_MEMORY_MIN -Xmx$GRADLE_MEMORY_MAX $PROFILER_COMMAND -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMinHeapSize=128M -Ddatadog.forkedMaxHeapSize=1024M" + - export GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xms$GRADLE_MEMORY_MIN -Xmx$GRADLE_MEMORY_MAX $PROFILER_COMMAND -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.util.prefs.userRoot=/tmp/.java/.userPrefs-${CI_JOB_ID}' -Ddatadog.forkedMinHeapSize=128M -Ddatadog.forkedMaxHeapSize=1024M" - ./gradlew --version - ./gradlew $GRADLE_TARGET $GRADLE_PARAMS -PtestJvm=$testJvm -Pslot=$CI_NODE_INDEX/$CI_NODE_TOTAL $GRADLE_ARGS --continue || $CONTINUE_ON_FAILURE after_script: From 57a0cc7003854d4c9136581adfc7ebcc696fef95 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 18 Feb 2026 16:44:12 -0500 Subject: [PATCH 15/15] Reduce workers to give some room for other processes. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e8291f05a81..00077b055de 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -146,7 +146,7 @@ default: stage: build variables: MAVEN_OPTS: "-Xms256M -Xmx1024M" - GRADLE_WORKERS: 10 + GRADLE_WORKERS: 8 GRADLE_MEMORY_MIN: "1g" GRADLE_MEMORY_MAX: "6g" KUBERNETES_CPU_REQUEST: 10