Uh oh!
There was an error while loading. Please reload this page.
[improvement](regression) Align regression framework arrow/netty with fe-core and target JDK17 - #64677
Conversation
… fe-core and target JDK17 Bump the regression-test framework's dependency versions to match fe-core (fe/pom.xml): arrow 17.0.0 -> 19.0.0 and netty-all 4.1.104.Final -> 4.2.15.Final. Arrow 18+ requires JDK 17, so the framework's maven.compiler.source/target is raised from 1.8 to 17 accordingly. This is a dependency-alignment / JDK17 change only. It does not fix the intermittent arrow_flight_sql_p0 close-time buffer leak, which has a separate root cause.
hello-stephen
commented
Jun 22, 2026
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
hello-stephen
commented
Jun 22, 2026
run buildall |
hello-stephen
commented
Jun 24, 2026
run buildall |
…19 driver loads The Arrow Flight SQL JDBC driver bumped from arrow 17 (Java 8 bytecode, class v52) to arrow 19 (Java 11 bytecode, class v55), which a JDK 8 runtime cannot load. Align the regression compile + runtime with fe-core (JDK17): - prepare_java_udf no longer forces JDK 8 for the whole build, so the framework compiles with the ambient JDK (>=17 in CI). - run-regression-test.sh switches to JDK 8 only for the java-udf-src module (which must stay Java 8 for the BE embedded JVM), falling back to the ambient JDK on dev boxes without a JDK 8. - cloud_p0 / vault_p0 run.sh execute the suite under JDK 17 instead of JDK 8, enabling the arrow 19 / netty 4.2.15 alignment (run-regression-test.sh already adds --add-opens=java.base/java.nio for JDK17+).
CalvinKirs
commented
Jun 29, 2026
run buildall |
hello-stephen
commented
Jun 29, 2026
TPC-H: Total hot run time: 29458 ms |
hello-stephen
commented
Jun 29, 2026
TPC-DS: Total hot run time: 171540 ms |
hello-stephen
commented
Jun 29, 2026
ClickBench: Total hot run time: 25.21 s |
…rage vault test On JDK 17 the Groovy property access `list.size` on a List<List> result spreads as a GPath expression over the rows and columns instead of returning the row count, throwing "No such property: size for class java.lang.String" when it hits a String column. JDK 8 tolerated it. Use the explicit size() method call, matching the existing vaultInfos.size() usage in the same test, so it works under JDK 17.
CalvinKirs
commented
Jun 29, 2026
run buildall |
CalvinKirs
commented
Jun 30, 2026
run buildall |
hello-stephen
commented
Jun 30, 2026
TPC-H: Total hot run time: 29286 ms |
hello-stephen
commented
Jun 30, 2026
TPC-DS: Total hot run time: 172019 ms |
hello-stephen
commented
Jun 30, 2026
ClickBench: Total hot run time: 25.47 s |
hello-stephen
commented
Jul 1, 2026
/review |
There was a problem hiding this comment.
Automated review summary
I reviewed the six changed files in PR 64677: the regression framework POM, cloud/vault pipeline runners, common Java UDF prep, the vault Groovy regression suite, and run-regression-test.sh. I did not find a substantiated issue requiring inline comments.
Critical checkpoint conclusions:
- Goal/test proof: The change aligns the regression framework and suite runtime with JDK17/Arrow 19 while preserving the Java UDF module's JDK8 build path. PR head reports successful COMPILE, P0 Regression, NonConcurrent Regression, External Regression, cloud_p0, vault_p0, CheckStyle, dependency-review, License Check, and secret checks.
- Scope/focus: The modification is small and limited to regression framework/runtime plumbing plus the Groovy row-count
size()fix. - Concurrency/lifecycle: No new concurrent runtime path or persistent lifecycle state is introduced. The shell
JAVA_HOMEswitch for Java UDF compilation is restored before the framework runner computes the runtime Java command. - Config/compatibility: No Doris config item, storage format, FE/BE protocol, or rolling-upgrade behavior is changed. Runtime compatibility is handled by running the regression framework under JDK17 and limiting the JDK8 switch to the Java UDF module.
- Parallel paths: cloud_p0 and vault_p0 run paths both switch to JDK17; their deploy paths already set JDK17 before Java UDF prep and FE/BE startup.
- Tests/results: No expected
.outfile is added or modified. Existing CI status covers the relevant compile and regression jobs. - Observability/performance/security: No new observability need, hot Doris runtime path, or security-sensitive behavior is introduced.
Validation performed:
- Read the required review prompt, code-review skill, root AGENTS.md, existing review threads, review focus, changed-file list, and shared ledger.
- Ran
bash -non the changed shell scripts successfully. - Ran Maven framework
validateunder JDK17 successfully. - Checked the regression framework dependency tree for Arrow/Netty; it resolved Arrow Flight SQL JDBC 19.0.0 and Netty 4.2.15 modules.
- Full local package/run validation was not attempted because this checkout lacks
thirdparty/installed/bin/thrift; PR head CI/TeamCity reports the relevant compile and regression jobs successful.
Subagent conclusions:
- optimizer-rewrite: no candidates; the PR does not alter optimizer/rewrite code paths, and the Nereids-named vault test exercises metadata/show-command behavior.
- tests-session-config: no candidates; shell syntax, JDK propagation, and CI/status coverage looked sound.
- Convergence round 1 ended with both live subagents replying
NO_NEW_VALUABLE_FINDINGSfor the same empty inline-comment set.
User focus: no additional focus was provided.
Uh oh!
There was an error while loading. Please reload this page.
Proposed changes
Align the regression-test framework's dependency versions with fe-core (
fe/pom.xml):arrow.version:17.0.0->19.0.0netty-all:4.1.104.Final->4.2.15.Finalmaven.compiler.source/target:1.8->17(Arrow 18+ requires JDK 17, and the regression build already runs on JDK 17)This is a dependency-alignment / JDK17-target change only. It keeps the framework's Arrow Flight SQL JDBC driver and netty in lockstep with fe-core instead of drifting on older versions.
Scope / risk
regression-test/framework/pom.xmlis touched.maven.compiler.targetto 17 affects the compiled output of the whole regression framework, so this needs full regression CI to validate, not just a local build.arrow_flight_sql_p0close-time buffer leak — that has a separate root cause and will be handled in a follow-up.