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/ArrowFlightSqlClientHandl
> 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