已采纳
回答正文
回复
讨论正文
该问题的正文与回答。
背景 订单服务,Spring Boot 3.2 + JDK 17 + HikariCP 5.1.0 + MySQL 8.0,K8s 1.28 滚动发布(maxUnavailable=1、terminationGracePeriodSeconds=60,preStop sleep 10s 等摘流)。有 2~3 条慢 SQL 正在执行中,且未设置 drainTimeout。
现象
当执行 HikariCP.close() 时,这些 in-flight 的慢 SQL 会直接被中断,导致事务回滚,部分数据未写入数据库,影响业务一致性。
已尝试
terminationGracePeriodSeconds 到 120 秒,但未见改善。HikariCP.shutdown(),但依然存在中断现象。期望答案
close() 在滚动发布时,是否会强制中断 in-flight 的慢 SQL?