被线程池记住的用户:一次线程上下文数据错乱事故复盘
一次看似只涉及 traceId 的异步改造,如何因为共享线程池与 InheritableThreadLocal 的组合,演变成跨请求的数据错乱。
2026年8月31日 14 分钟 阅读

Software Engineer · Builder · Writer
在代码、系统与长期知识之间建立可靠连接。这里记录可以复用的工程判断,也展示正在发生的实验。
一次看似只涉及 traceId 的异步改造,如何因为共享线程池与 InheritableThreadLocal 的组合,演变成跨请求的数据错乱。
一次 GKE dev 环境验收中的日志排障,从一条看似失真的 ERROR 开始,追到 Logback、标准输出流与 Cloud Logging 的边界。
一条 TooManyResultsException,牵出 MySQL 与 PostgreSQL 对大小写截然不同的判断,也揭开了藏在 Collation 里的迁移暗雷。
公开项目
Open source
面向服务监控和故障排查的只读 Google Cloud Logging MCP Server,支持日志查询、Trace 关联、确定性摘要和异常聚合。
Open source
基于 Three.js GPGPU 与 GLSL 的 3D Boids 群集模拟,可调节分离、对齐、聚合、速度、边界和湍流参数。
Open source
基于 FXGL 的 Java 游戏机制原型,实现移动、定时生成弹体、碰撞扣血和生命值组件,并配置 Native Image 构建。