[JDBC] Honor DriverManager login timeout
还没有人认领这个 Issue。
评估
调研方向
入口点是 ArrowFlightJdbcDriver.connect(); 首先阅读其当前的连接路径以及现有的 connectTimeoutMs 处理。添加覆盖,设置并恢复 DriverManager 的全局超时,检查超时为零和非零时的行为、SQLTimeoutException,以及整个尝试被取消或超时时 allocator、channel 和 client 的清理情况。
由索引模型根据 Issue 内容生成。
描述
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 byDriverManager. - 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
DriverManagertimeout 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: https://github.com/apache/arrow-java/issues/1267
- 主要语言
- Java
- 星标
- 95
- 派生
- 154
- 平均合并
- 2 天 10 小时
- 30 天内合并 PR
- 11
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/arrow-java 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 74/100
apache/arrow-java#1261 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
apache/arrow-java#1236 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
apache/arrow-java#1230 ·
-
Type: bug
难度 2/5 1-3 小时 新手友好度 85/100
apache/arrow-java#1205 ·
-
Type: bug
难度 2/5 1-3 小时 新手友好度 68/100
apache/arrow-java#1196 · 1 条评论 ·
查看 apache/arrow-java 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 85/100
-
bug frontend maui-pilot
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 2/5 1-3 小时 新手友好度 76/100
objectionary/eo-graphs#74 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 2/5 1-3 小时 新手友好度 65/100