Hi David,
Thank you for your reply.

I will implement the proxy as an optional feature.
Anyway, it will be a good feature for some network configurations (such as
executor nodes being hidden behind a firewall).

Thank you.

-----Original Message-----
From: David Li <lidav...@apache.org> 
Sent: Saturday, March 11, 2023 12:26 AM
To: dev@arrow.apache.org
Subject: Re: Arrow Flight SQL JDBC Driver: About supporting endpoints with
different location URIs than the initial connect

Hi Taeyun,

Sorry about that. Properly speaking the driver is not compliant with the
Flight RPC/Flight SQL specification. 

As you found, there was a contributor who was trying to fix this with PRs
against the various forks/branches. But since the main PR was already
getting too large, we merged the driver in its current state. The other PR
seems to have then slipped through the cracks. [1] seems to be the last
version.

We should fix this instead of requiring proxying. The contributor still
seems to be active - maybe we could discuss reviving the PR, or possibly
taking the PR and rebasing it?

[1]: https://github.com/apache/arrow/pull/13900

-David

On Fri, Mar 10, 2023, at 09:59, Taeyun Kim wrote:
> Hi,
>
> I've implemented a test Arrow Flight SQL server which returns 
> different location URIs for the FlightInfo response for
CommandPreparedStatementQuery.
> But the Arrow Flight SQL JDBC Driver seems to ignore the location 
> field and sends DoGet requests to the server that responded for the 
> CommandPreparedStatementQuery.
>
> 
>
> I've searched the arrow issues and pull requests and found a closed 
> merge request https://github.com/rafael-telles/arrow/pull/42 and a few 
> related issues.
>
> It seems that the merge request eventually did not merge, and Arrow 
> Ballista chose to create a proxy mechanism to handle this limitation. 
> (See
> https://github.com/apache/arrow-ballista/pull/475/files)
>
> Looking at the source code of Arrow Flight SQL JDBC Driver - the 
> getStreams method in 
> https://github.com/apache/arrow/blob/main/java/flight/flight-sql-jdbc-
> driver 
> /src/main/java/org/apache/arrow/driver/jdbc/client/ArrowFlightSqlClien
> tHandl er.java it seems that it is still in an incorrect(?) state.
>
> 
>
> Is there any progress with this issue?
>
> Or should I take Arrow Ballista's approach (at least for now)?
>
> (Or maybe I just misunderstood something. I'm a newbie to the Arrow
> ecosystem.)
>
> 
>
> Thank you.

Reply via email to