HikariCP无法从Aurora Replica重启后的连接错误中恢复求助
HikariCP复用失效连接导致应用无法自动恢复问题分析
我们有一个处理1K QPS的Spring Boot(2.3.12版本)应用,使用HikariCP 3.4.5作为数据库连接池。某次AWS因主机替换操作重启了Aurora Replica MySQL实例,数据库恢复上线后,应用却无法从连接错误中恢复,持续抛出No operations allowed after connection closed错误,直到重启应用才解决问题。
应用与配置信息
- Spring Boot版本:2.3.12
- HikariCP版本:3.4.5
- Hikari配置项:
connectionTimeout= 3秒idleTimeout= 10分钟maxLifeTime= 30分钟minimumIdle= 15maximumPoolSize= 150leakDetectionThreshold=3000
问题现象
数据库于当日晚7:48恢复,但应用直到晚8:02重启前一直持续报错。所有错误堆栈跟踪一致,同时短暂出现Failed to validate connection警告。即使数据库已恢复正常,HikariCP仍反复尝试使用旧的失效连接,单个容器报错时长超过20分钟。
疑问
HikariCP持续复用失效连接的原因是什么?推测可能是未检测到服务器已关闭连接,但未找到确切原因,已在GitHub提交相关Issue。
内容的提问来源于stack exchange,提问作者sonus21
相关产品推荐
相关产品推荐

