Skip to content

chore(java): bump to arrow-java 19.0.0#4288

Merged
lidavidm merged 2 commits intoapache:mainfrom
lxyzxx:19.0.0
May 1, 2026
Merged

chore(java): bump to arrow-java 19.0.0#4288
lidavidm merged 2 commits intoapache:mainfrom
lxyzxx:19.0.0

Conversation

@lxyzxx
Copy link
Copy Markdown
Contributor

@lxyzxx lxyzxx commented May 1, 2026

Summary

Upgrade the Java modules from Arrow Java 18.3.0 to 19.0.0.

This is intended as a prerequisite for refactoring the Java Flight SQL OAuth implementation to reuse the OAuth abstractions added in Arrow Java 19.0.0.

Follow-up to the discussion in:
#4272 (comment)

Notes

This PR only updates the Arrow Java dependency version. The Flight SQL OAuth implementation refactor will be submitted separately to keep the dependency upgrade and behavior changes easier to review.

@lxyzxx lxyzxx requested a review from lidavidm as a code owner May 1, 2026 00:35
Copy link
Copy Markdown
Member

@lidavidm lidavidm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Tests are failing though

@lxyzxx
Copy link
Copy Markdown
Contributor Author

lxyzxx commented May 1, 2026

I verified that the failure on Java 25 can be mitigated by adding the following JVM options:

--sun-misc-unsafe-memory-access=allow
--add-opens=java.base/java.nio=ALL-UNNAMED

With these flags, the tests pass in my local environment on Java 25. This suggests the issue is related to a compatibility problem between Arrow/Netty and newer JDK behavior, rather than the changes in this PR.

Since this affects CI configuration, this likely needs to be handled at the project level. Possible options could be:

  1. Add these JVM options for Java 25 in CI
  2. Temporarily exclude Java 25 from CI until upstream compatibility is improved

Based on local testing, these JVM options appear to mitigate the issue and may also work in CI.

@lidavidm
Copy link
Copy Markdown
Member

lidavidm commented May 1, 2026

Can you fix the CI here then?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we put it here?

<argLine>--add-opens=java.base/java.nio=ALL-UNNAMED</argLine>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possibly we need a profile that adds it only on Java 25+

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’ve moved the workaround into java/pom.xml and added a Java 25+ profile to apply the flag conditionally.
Does this approach look good to you?

@lidavidm lidavidm merged commit 48efdd7 into apache:main May 1, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants