Skip to content

fix: 修复取消后队列续发并校准Soak交付验收 - #77

Merged
CSJ608 merged 2 commits into
mainfrom
codex/fix-67-soak-observable-delivery
Sep 8, 2026
Merged

CSJ608 merged 2 commits into
mainfrom
codex/fix-67-soak-observable-delivery

Conversation

@CSJ608

@CSJ608 CSJ608 commented Sep 8, 2026 •

Copy link
Copy Markdown
Owner

普通发送 worker 在上一帧写完后遇到会话取消,仍会从内层循环取走下一条普通消息,再在写出时抛取消,导致本应留给新会话续发的条目消失。每次出队前检查取消,保持 SendAsync 仅保证入队的公共契约;确定性门控回归在原实现得到 must-continue / sentinel 差异,在修复后通过。

长测依据 #67 已批准决议区分库保证与业务确认:增加 seed、动作、尝试 ID、会话及发送阶段轨迹;业务协议使用真实反向 ACK、重试和接收去重,重试前单独排空并检查队列续发,保留精确集合、每会话顺序、绑定消息不跨会话和不重复断言。无故障长流精确收齐后关闭 socket,所有读任务被观察、阶段等待有界。默认未启用时报告 Skip,细节见 docs/SOAK.md。

net48 已用 seconds=2 单目标定位:126/126 收到后取消令牌,5秒仍 WaitingForActivation;关闭客户端 socket 后立即 ObjectDisposedException。新收尾不再只靠令牌取消,也没有增加 job 上限。

验证:

  • Release build:0警告/0错误;Release test:net8/net10 各128通过+3 Skip,net48 120通过+3 Skip。
  • net48 seconds=3 / seed=67001:3/3 长测通过。
  • 三TFM seconds=10 / seed=67002:各4/4(3长测+独立队列回归)通过;ACK丢失与去重回归进入普通套件。
  • 远端五目标短时矩阵 34208875592 全绿:每目标3/3实际执行、15/15通过,五份TRX已下载,单项约10–11秒,全部seed=67002。PR ci 34208876017、CodeQL 34208876009 全绿。

关联 #67,不自动关闭。完整600秒五目标矩阵连续至少3次验收仍为0/3,短测不计数;若实现先合并,原实施任务持续跟踪并优先复用夜间运行,记录每次链接/提交/seed,实现变更或完整失败重置计数。#66 独立夜间验收保持原计划,不修改其台账或取消运行。

本实施任务已创建每日北京时间04:30验收heartbeat(streamframe-67),首次回查2026-09-09,优先复用每日03:00夜间600秒运行,不额外dispatch完整矩阵。三次连续证据齐后关闭Issue并停止;需新决策/重复失败无进展则报告并暂停。

@CSJ608
CSJ608 merged commit 22857f2 into main Sep 8, 2026
10 checks passed
@CSJ608
CSJ608 deleted the codex/fix-67-soak-observable-delivery branch September 8, 2026 09:18
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