Describe the enhancement requested
ArrowFlightJdbcDriver.connect() does not currently honor the timeout configured through DriverManager.setLoginTimeout(int).
Implement support for the DriverManager login timeout:
- Read the value exposed by
DriverManager.getLoginTimeout() when establishing a connection selected by DriverManager.
- Preserve the JDBC semantics of zero: do not impose a login timeout.
- Apply a nonzero timeout to the overall connection attempt, not only the underlying Netty socket connection.
- If the timeout expires, attempt to cancel the connection attempt and throw
SQLTimeoutException.
- Clean up any allocator, channel, or partially constructed client when the attempt is cancelled or times out.
- Add tests that set and restore the global
DriverManager timeout and verify timeout enforcement, exception type, and resource cleanup.
This is distinct from #494/#495. The existing connectTimeoutMs property configures Netty socket connection attempts and does not consume the timeout configured through DriverManager.
Context: #1027 and the follow-up discussion.
Related DataSource work: #1267
Describe the enhancement requested
ArrowFlightJdbcDriver.connect()does not currently honor the timeout configured throughDriverManager.setLoginTimeout(int).Implement support for the
DriverManagerlogin timeout:DriverManager.getLoginTimeout()when establishing a connection selected byDriverManager.SQLTimeoutException.DriverManagertimeout and verify timeout enforcement, exception type, and resource cleanup.This is distinct from #494/#495. The existing
connectTimeoutMsproperty configures Netty socket connection attempts and does not consume the timeout configured throughDriverManager.Context: #1027 and the follow-up discussion.
Related DataSource work: #1267