GH-577: Use JVM proxy settings in Netty client#1027
Open
ennuite wants to merge 2 commits into
Open
Conversation
This comment has been minimized.
This comment has been minimized.
Member
|
As I'm close to release Arrow Java 19.0.0, I will consider this PR for 20.0.0. |
Contributor
Author
|
@jbonofre yeah that makes sense, this one is still a draft as I have not finished work on it, I will ping you once I finish the PR. Should be ready in the next couple of days. |
ef9e0c5 to
1e44df0
Compare
Contributor
Author
|
While the fix was in the Let me know if it's worth it to expand the testing surface with a unit test closer to the place of the bug fix. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's Changed
The Flight SQL JDBC driver ignored JVM proxy settings (
-Dhttps.proxyHost,-Dhttps.proxyPort). Connections would always go directly to the target host, bypassing any configured proxy.Switched to
NettyChannelBuilder.forAddress(host, port)for the TCP-based schemes. This causes gRPC to go throughProxySelector, which picks up the standard JVM proxy properties.Are these changes tested?
Yes.
Added a test to
ConnectionTestthat installs a recordingProxySelectoras the JVM default, opens a JDBC connection, and asserts thatProxySelector.select()was called. This directly validates that the driver participates in JVM proxy detection without requiring a real proxy server.This change was created with AI assistance (Claude Code). All lines were manually reviewed by a human. The output is not copyrightable subject matter.
Closes #577.