This is an automated email from the ASF dual-hosted git repository.

vinothchandar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git


The following commit(s) were added to refs/heads/master by this push:
     new 6fa846164892 fix(ci): cap UT_FT_10 reactor install to -T 1 to avoid 
GCLocker-induced compile OOM (#19119)
6fa846164892 is described below

commit 6fa846164892d07c257376471e2e68ada83df159
Author: Vova Kolmakov <[email protected]>
AuthorDate: Thu Jul 9 07:00:16 2026 +0700

    fix(ci): cap UT_FT_10 reactor install to -T 1 to avoid GCLocker-induced 
compile OOM (#19119)
    
    The Azure UT_FT_10 job ("UT FT common & other modules") intermittently OOMs 
during its initial `mvn clean install` reactor build while compiling a large 
packaging bundle, surfaced as a generic "An unknown compilation problem 
occurred". javac runs in-process in the job's single 8g JVM; under parallel 
builds, concurrent native zip work (maven-shade of large bundles plus javac 
reading huge classpaths via zipfs) holds JNI-critical sections that block the 
GC ("Retried waiting for GCLocker  [...]
    
    A prior `-T 2` cap (#19008) reduced but did not eliminate this. Lower the 
prepended cap to `-T 1` so Maven (first -T wins) serializes this single job's 
install, removing the concurrent JNI-critical contention. Other jobs keep the 
shared -T 3.
    
    Co-authored-by: Vova Kolmakov <[email protected]>
---
 azure-pipelines-20230430.yml | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/azure-pipelines-20230430.yml b/azure-pipelines-20230430.yml
index ce003a13b11f..81a5dc07d58f 100644
--- a/azure-pipelines-20230430.yml
+++ b/azure-pipelines-20230430.yml
@@ -515,17 +515,21 @@ stages:
               containerRegistry: 'apachehudi-docker-hub'
               repository: 'apachehudi/hudi-ci-bundle-validation-base'
               command: 'run'
-              # UT_FT_10 builds the full reactor with `clean install`. Under 
the
-              # shared MVN_OPTS_INSTALL `-T 3`, concurrent module builds 
(notably
-              # parallel maven-shade of large bundles) can spike heap past the 
8g
-              # ceiling and flakily OOM. Prepend `-T 2` below so Maven (first 
-T
-              # wins) caps concurrency for THIS job's install only; other jobs
-              # keep the shared -T 3.
+              # UT_FT_10 builds the full reactor with `clean install`. javac 
runs
+              # in-process in this job's single MAVEN_OPTS='-Xmx8g' JVM, so 
concurrent
+              # module builds (parallel maven-shade of large bundles + javac 
reading
+              # huge classpaths via zipfs) do heavy native zip work. That work 
holds
+              # JNI-critical sections which block the GC (see the "Retried 
waiting for
+              # GCLocker too often" warnings preceding the OOM): garbage piles 
up
+              # uncollected and the heap is exhausted even though the live set 
is small.
+              # A prior `-T 2` cap reduced but did not eliminate this (it 
recurred while
+              # compiling hudi-cli-bundle). Prepend `-T 1` below so Maven 
(first -T wins)
+              # serializes THIS job's install only; other jobs keep the shared 
-T 3.
               arguments: >
                 -v $(Build.SourcesDirectory):/hudi
                 -v /var/run/docker.sock:/var/run/docker.sock
                 -i 
docker.io/apachehudi/hudi-ci-bundle-validation-base:$(Build.BuildId)
-                /bin/bash -c "MAVEN_OPTS='-Xmx8g' mvn clean install -T 2 
$(MVN_OPTS_INSTALL) -Phudi-platform-service -Pthrift-gen-source
+                /bin/bash -c "MAVEN_OPTS='-Xmx8g' mvn clean install -T 1 
$(MVN_OPTS_INSTALL) -Phudi-platform-service -Pthrift-gen-source
                 && mvn test  $(MVN_OPTS_TEST) -Punit-tests 
-Dsurefire.failIfNoSpecifiedTests=false $(JACOCO_AGENT_DESTFILE1_ARG) -pl 
$(JOB10_UT_MODULES)
                 && mvn test  $(MVN_OPTS_TEST) -Punit-tests 
$(JACOCO_AGENT_DESTFILE2_ARG) -Dtest="!TestHoodie*" 
-Dsurefire.failIfNoSpecifiedTests=false -pl hudi-utilities
                 && mvn test  $(MVN_OPTS_TEST) -Pfunctional-tests 
-Dsurefire.failIfNoSpecifiedTests=false  $(JACOCO_AGENT_DESTFILE3_ARG) -pl 
$(JOB10_FT_MODULES)"

Reply via email to