databird07 opened a new pull request, #20362: URL: https://github.com/apache/hudi/pull/20362
### Describe the issue this Pull Request addresses `test-spark-java17-java-tests-part1` is the longest GitHub CI job (~73 min). Its tests mostly wait on per-commit I/O and single-threaded work, so a second test JVM on the same runner nearly doubles throughput. The only things blocking two JVMs were fixed test ports and the shared JaCoCo output file. ### Summary and Changelog - `bot.yml`: this one job passes `-DforkCount=2` and a per-fork JaCoCo exec file name. Other jobs and the root pom defaults are unchanged. - `pom.xml`: surefire exports `hoodie.test.fork.number`. `HoodieTestUtils.toForkUniquePort` offsets the ZooKeeper (2828) and timeline-server test ports per fork. Fork 1 and non-forked runs keep the original ports. - `HoodieSparkClientTestHarness`: optional per-class SparkSession reuse behind `-Dhoodie.test.spark.reuse.context=true`. It's off by default and not enabled in CI, because it measured within noise on top of two forks. Happy to drop it from this PR if reviewers prefer. ### Impact CI-only behavior change. Local full part1 test step: median 3479s -> 2078s (-40%) over 3-4 runs. Every run had 4211 tests, 0 failures/errors and 65 skipped. Peak ~6 GB per fork. 60 runs of the 31 slowest classes (half in random order) had 0 failures and 0 reruns. JaCoCo differences are limited to timing-dependent lines that other jobs cover deterministically; details are in the commit message. ### Risk Level medium. Parallel test JVMs can expose shared-resource assumptions in tests. Mitigated by the per-fork ports, 4 full-job runs and 60 repeated subset runs with random ordering. Only this one job changes. ### Documentation Update none ### Contributor's checklist - [x] Read through [contributor's guide](https://hudi.apache.org/contribute/how-to-contribute) - [x] Enough context is provided in the sections above - [x] 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]
