Skip to content

修复任务流连接错误上报及 ClickHouse 异常标记误判 - #1107

Merged
yokowu merged 2 commits into
mainfrom
fix-attach-stream-error
Aug 18, 2026
Merged

修复任务流连接错误上报及 ClickHouse 异常标记误判#1107
yokowu merged 2 commits into
mainfrom
fix-attach-stream-error

Conversation

@yokowu

@yokowu yokowu commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

问题原因

任务第 9 轮有业务日志正文包含 __exception__clickhouse-go v2.45.0 的 HTTP Native 读取器在流正常结束时,会在整个响应中裸匹配该字符串,并将业务数据误判为 ClickHouse 异常块,最终稳定返回:

readData stream: ClickHouse exception occurred but message is empty

clickhouse-go v2.48.0 已修复该精确场景:正常 EOF 不再进入异常检测,并且只识别带协议 framing 的异常块。

变更说明

  • 保留 attachStream 的完整错误链,并通过任务 WebSocket 返回真实原因
  • 服务端记录任务 ID、日志存储类型和完整 attach 错误
  • 向上传递 TaskLive 订阅、历史游标、历史回放及实时流写入错误
  • 正常上下文取消不再误报为 attach 失败
  • clickhouse-go/v2 从 v2.45.0 升级到 v2.48.0,修复业务数据包含 __exception__ 时的误判
  • 适配新版 otelhttp 移除 DefaultClient 的 API 变化,保持原有默认链路追踪行为

验证

  • go test ./pkg/request ./pkg/clickhouse ./pkg/tasklog ./biz/task/handler/v1
  • go test -race ./pkg/request ./pkg/clickhouse ./pkg/tasklog ./biz/task/handler/v1
  • go vet ./pkg/request ./pkg/clickhouse ./pkg/tasklog ./biz/task/handler/v1
  • go mod verify

已知基线问题

go test ./... 仍会因主分支已有测试桩缺少 UpdateAgentResourceSelection 方法而编译失败;已在未修改的 main 上复现,与本 PR 无关。

@yokowu yokowu changed the title 修复任务流连接错误被吞掉 修复任务流连接错误上报及 ClickHouse 异常标记误判 Aug 18, 2026
@yokowu
yokowu merged commit 27c6456 into main Aug 18, 2026
2 checks passed
@yokowu
yokowu deleted the fix-attach-stream-error branch August 18, 2026 09:41
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