AbhishekPathania opened a new issue, #54649: URL: https://github.com/apache/arrow/issues/54649
### Describe the bug, including details regarding any error messages, version, and platform. When a Flight SQL server returns `arrow-flight-reuse-connection://?` as the location of a `FlightEndpoint`, the ODBC driver fails with: ``` No client transport implementation for arrow-flight-reuse-connection ``` `FlightStreamChunkBuffer` only calls `DoGet` on the existing client when the location list is empty. For any other location it calls `FlightClient::Connect(endpoint_locations[0], ...)`, and no transport is registered for the reuse-connection scheme: https://github.com/apache/arrow/blob/61f24ce27b0597258938566665d353ce54bccf60/cpp/src/arrow/flight/sql/odbc/odbc_impl/flight_sql_stream_chunk_buffer.cc#L36-L51 GH-40345 (#40084) defined this location as "fetch on the current connection" and added support for it in C++, Java and Go, and the JDBC driver handles it in `ArrowFlightSqlClientHandler`. The ODBC driver came later and doesn't check for it. `GetInfo` reads through the same buffer, so the DSN dialog's Test Connection fails too. We hit this with a pyarrow-based Flight SQL proxy that rewrites endpoints to the reuse-connection location, using the ODBC driver built from 24.0.0 on Windows. A fix that treats the location like an empty list, plus a test in `flight_sql_stream_chunk_buffer_test.cc`, is ready, and I can open a PR. ### Component(s) C++, FlightRPC -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
