wombatu-kun opened a new pull request, #19119:
URL: https://github.com/apache/hudi/pull/19119

   ### Describe the issue this Pull Request addresses
   
   The Azure CI job "UT FT common & other modules" (UT_FT_10) intermittently 
fails during its initial `mvn clean install` reactor build with 
`java.lang.OutOfMemoryError: Java heap space`, surfaced as a generic `[ERROR] 
An unknown compilation problem occurred` from the maven-compiler-plugin. The 
OOM happens while compiling a large packaging bundle (the stack trace is in 
`jdk.nio.zipfs.ZipFileSystem.initCEN`), before any test runs, so it is a 
spurious infra failure unrelated to the code under test. Recent occurrences: 
buildId 15037 (on PR #19117, compiling `hudi-cli-bundle`) 
https://dev.azure.com/apachehudi/a1a51da7-8592-47d4-88dc-fd67bed336bb/_build/results?buildId=15037
 and buildId 14704 (on PR #19004, compiling `hudi-kafka-connect-bundle`).
   
   ### Summary and Changelog
   
   javac runs in-process in this job's single `MAVEN_OPTS='-Xmx8g'` JVM 
(`JavaxToolsCompiler.compileInProcess` is in the OOM stack). Under a parallel 
reactor build, concurrent maven-shade of large bundles plus javac reading huge 
classpaths via zipfs perform heavy native zip work that holds JNI-critical 
sections and blocks the GC (the log shows "Retried waiting for GCLocker too 
often" right before the OOM). Garbage then accumulates uncollected and the 8g 
heap is exhausted even though the live set is small (a full `clean install` 
peaks around 2.4 GB locally). A previous `-T 2` cap (#19008) reduced but did 
not eliminate the issue; it recurred on a different bundle.
   
   - Change the prepended parallelism cap for the UT_FT_10 install from `-T 2` 
to `-T 1` so Maven (first `-T` wins) serializes this single job's reactor 
install, removing the concurrent JNI-critical contention that starves the GC.
   - Update the explanatory comment to describe the GCLocker mechanism and the 
`-T 2` recurrence.
   - No other jobs are affected; they keep the shared `-T 3` from 
`MVN_OPTS_INSTALL`.
   
   ### Impact
   
   CI-only change. It makes the UT_FT_10 install phase single-threaded, 
slightly increasing that phase's wall-clock time but well within the job's 
120-minute timeout. No production code or test changes.
   
   ### Risk Level
   
   low. CI configuration only; no change to Hudi runtime or test code. The fix 
is exercised by this PR's own Azure run.
   
   ### Documentation Update
   
   none
   
   ### Contributor's checklist
   
   - [ ] Read through [contributor's 
guide](https://hudi.apache.org/contribute/how-to-contribute)
   - [ ] Enough context is provided in the sections above
   - [ ] Adequate tests were added if applicable
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to