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]
