Skip to content

test(writer): 隔离 POI 取消竞态测试调度器 - #19

Merged
zhou-hao merged 1 commit into
masterfrom
codex/stabilize-poi-cancellation-test
Aug 20, 2026
Merged

zhou-hao merged 1 commit into
masterfrom
codex/stabilize-poi-cancellation-test

Conversation

@zhou-hao

@zhou-hao zhou-hao commented Aug 20, 2026 •

Copy link
Copy Markdown
Member

目的

  • 修复合并后自动发布流程中 PoiExcelWriterTest 偶发等待 cell mutation 启动超时的问题。
  • 保持取消测试对“取消线程不等待正在执行的 POI mutation”这一契约的验证强度。

核心变动

  • 模块 / 文件:PoiExcelWriterTest。
  • 行为变化:测试改用单线程专用 bounded-elastic scheduler,不再依赖全局共享 scheduler 的可用性。
  • 边界或约束变化:所有退出路径都会释放阻塞 latch、取消订阅并 dispose 测试 scheduler;生产实现未变化。
  • 阶段提交:a9be442。

设计与测试目标

  • 任务契约:不适用;这是合并后发布 CI 暴露的单点测试装置修复,不改变生产契约。
  • 权威文档:不适用;公开 API 与运行时行为未变化。
  • 用户确认:用户反馈并提供失败的发布 run,本 PR 仅修复该阻塞项。
  • 测试目标:继续覆盖 mutation 已进入时取消应立即返回、随后资源精确关闭;同时消除共享 scheduler 竞争。
  • 注释 / 公共契约:不适用;未修改生产代码或公共契约。
  • 数据权限:不适用。
  • 数据库兼容与性能:不适用。
  • 链路追踪:不适用。
  • MBean 运维可观测性:不适用。
  • 系统性求解:失败分区为测试装置竞态;同一源码树此前 Linux/JDK 21 全量测试 60/60 通过,失败 run 仅该用例等待共享 scheduler 超时。修复测试所有权边界,不向生产代码增加超时或重试。

测试结果

  • 测试命令:JAVA_HOME=<Temurin 17> ./mvnw --batch-mode --no-transfer-progress -Dtest=PoiExcelWriterTest clean test。
  • 证据来源与复用判断:失败发布 run 32359430470 为 merge commit 74e3e41c;此前同源码 tree 的 PR run 32214691228 为 60/60 通过。修复提交 a9be442 由 PR run 32360920734 在 Linux/JDK 21 验证通过。
  • 新增/更新测试:更新 cancellationDuringCellMutationShouldNotWaitForLifecycleLock 的 scheduler 隔离和失败清理。
  • 单元测试:GitHub Linux/JDK 21 共 60 个通过、0 失败、0 错误、0 跳过;其中 PoiExcelWriterTest 14 个通过。补充说明:本地 macOS 在进入 JUnit 前因 BlockHound/ByteBuddy native Abort trap: 6 终止,未作为通过证据。
  • 集成测试结果或不适用原因:不适用;仅测试装置变化。
  • 压力测试结果或不适用原因:不适用;不涉及生产性能行为。
  • 覆盖率:不适用;生产代码未变化。

文档同步情况

  • 已同步:无。
  • 未同步:无。
  • 说明:公开行为和长期契约未变化,不更新 README 或设计文档。

风险与说明

  • 影响范围:仅 POI writer 取消生命周期单元测试。
  • 兼容性与发布边界:不涉及已发布兼容性;合并后需要重新执行 snapshot 发布 workflow。
  • 注释 / 公共契约:不涉及。
  • 数据库兼容与 SQL 性能:不涉及。
  • 链路追踪 / 可观测性:不涉及。
  • MBean / 运维可观测性:不涉及。
  • 未覆盖场景:本地 macOS 无法执行安装 BlockHound 后的测试 JVM;已由 GitHub Linux/JDK 21 CI 覆盖目标环境。
  • 已知限制:无。
  • 回滚方式:回滚本测试提交。

@zhou-hao
zhou-hao marked this pull request as ready for review August 20, 2026 10:54
@zhou-hao
zhou-hao merged commit 5665d3e into master Aug 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant