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.