Skip to content

fix(semantic): 修复目录摘要失败状态传播#3191

Open
wdsjjs wants to merge 1 commit into
volcengine:mainfrom
wdsjjs:fix/修复目录摘要失败状态

Hidden character warning

The head ref may contain hidden characters: "fix/\u4fee\u590d\u76ee\u5f55\u6458\u8981\u5931\u8d25\u72b6\u6001"
Open

fix(semantic): 修复目录摘要失败状态传播#3191
wdsjjs wants to merge 1 commit into
volcengine:mainfrom
wdsjjs:fix/修复目录摘要失败状态

Conversation

@wdsjjs

@wdsjjs wdsjjs commented Jul 12, 2026

Copy link
Copy Markdown
## 变更说明

修复目录摘要生成失败被错误标记为处理成功的问题。

此前,单次摘要生成、分批生成以及最终合并过程中发生的异常,可能会被吞掉或替换为占位内容、部分结果。DAG 的目录摘要任务也会捕获这些异常,导致现有的失败分类和重试流程无法正确处理。

本次修改让生成异常和任务取消继续向上传播,使目录摘要失败能够被正确标记,并进入项目已有的重试流程。

## 关联 Issue

Fixes #3151

## 变更类型

- [x] Bug 修复(不破坏现有兼容性)
- [ ] 新功能
- [ ] 破坏性变更
- [ ] 文档更新
- [ ] 重构
- [ ] 性能优化
- [x] 测试更新

## 主要改动

- 单次目录摘要生成失败时直接传播异常,不再返回占位内容。
- 等待所有并发批次结束,并在任一批次失败时传播异常,不再接受部分结果。
- 最终摘要合并失败时传播异常,不再返回第一批摘要。
- 保持 `asyncio.CancelledError` 的取消语义,不将取消任务视为部分成功。
- 让 DAG 摘要异常进入现有的失败分类和重试流程。
- 增加单次生成失败、部分批次失败、合并失败、任务取消、正常合并及 DAG 异常传播的回归测试。

## 测试情况

- [x] 已添加能够验证修复有效性的测试
- [ ] 本地所有新旧单元测试均通过
- [x] 已在以下平台测试:
  - [ ] Linux
  - [x] macOS
  - [ ] Windows

相关回归测试结果:

```text
24 passed

已执行以下检查:

  • 目录摘要和 DAG 相关回归测试
  • Ruff 格式检查
  • Ruff Lint 检查
  • Python 编译检查
  • Git diff 空白字符检查

检查清单

  • 代码符合项目代码风格
  • 已完成代码自审
  • 复杂逻辑已通过清晰代码和测试说明
  • 已确认本次修改无需更新文档(不涉及公共 API 或用户使用方式)
  • 本次修改没有产生新的警告
  • 依赖变更已合并并发布

截图

不适用。

补充说明

本次修改不涉及文档、依赖或公共 API 变更。

相关回归测试已在本地通过。由于当前上游代码存在与本次修改无关的基线失败和环境相关失败,因此没有勾选“本地所有新旧单元测试均通过”。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant