文章目录
现象
https://github.com/apache/shardingsphere/issues/19346
本地运行 shardingsphere-jdbc-core 的单元测试没问题,但 GitHub Actions 中的 CI 有一定概率失败。
排查过程
尝试本地复现
尝试 Maven 运行单个模块的测试
使用 Maven 构建 shardingsphere-jdbc-core,多次尝试未能复现:
mvn clean install -pl shardingsphere-jdbc/shardingsphere-jdbc-core
尝试使用不同 JDK 运行模块的测试

尝试了以下几种 JDK:
- Oracle Java 17.0.1
- Eclipse Temurin 17.0.1
- Docker Official OpenJDK 17.0.1
均未能复现问题。
分析问题
分析日志
重新观察报错信息:

本文描述了一次GitHub Actions CI中shardingsphere-jdbc-core单元测试偶然失败的问题,重点在于排查TransactionType mock对象导致的ThreadLocal泄漏,并通过调整测试执行顺序和修复代码实现本地复现。解决策略包括清理mockTransactionRule的ThreadLocal并讨论如何避免此类问题。
最低0.47元/天 解锁文章
503

被折叠的 条评论
为什么被折叠?



