FrankChen021 opened a new pull request, #20271:
URL: https://github.com/apache/druid/pull/20271
### Description
Run Druid tests with `-XX:+UseCompactObjectHeaders` to detect regressions
under JDK 25 compact object headers before changing runtime defaults.
- Enable the flag in the parent Surefire configuration, inherited by unit
and embedded tests, and in the `parallel-test` and processing `benchmark`
profiles that override test JVM arguments.
- Enable it in the embedded Docker-test Failsafe JVM.
- Set `JAVA_TOOL_OPTIONS` in the CI test image so containerized Druid
services and task JVMs, including Kubernetes peon pods, inherit the flag. The
Build the Docker image step appends the test-only ENV instruction to the
Dockerfile streamed into a single Docker build, before the image is saved and
loaded for testing.
Production launch scripts and distribution image defaults are unchanged.
Historical Druid images used for backward-compatibility tests retain their
existing JVM settings; they may use JDKs that do not support compact headers.
#### Validation
- Passed six `CircularListTest` unit cases and two `SystemTableQueryTest`
embedded cases with JDK 25:
```sh
mvn test -pl embedded-tests -am
-Dtest='org.apache.druid.collections.CircularListTest,org.apache.druid.testing.embedded.query.SystemTableQueryTest'
-Dsurefire.failIfNoSpecifiedTests=false -Pskip-static-checks
-Dweb.console.skip=true -T1C
```
- Verified the effective embedded-tests Maven configuration supplies the
flag to both Surefire and Docker-test Failsafe, and checked all four test
`argLine` definitions.
- Java 25 Docker smoke checks confirmed direct and shell-launched JVMs
report `UseCompactObjectHeaders = true` from the environment. Checked the
revised single-build workflow shell syntax, Docker command arguments, and
streamed Dockerfile contents.
- `git diff --check` and workflow shell syntax checks passed.
- Full unit, embedded, and Druid Docker regression suites remain for CI; the
local Docker check used a Java smoke image, not a full Druid cluster.
This PR has:
- [x] been self-reviewed.
- [x] added a comment explaining the test image configuration.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]