Repository navigation
fix: 修复取消后队列续发并校准Soak交付验收 - #77
Merged
Merged
Conversation
This was referenced Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
普通发送 worker 在上一帧写完后遇到会话取消,仍会从内层循环取走下一条普通消息,再在写出时抛取消,导致本应留给新会话续发的条目消失。每次出队前检查取消,保持 SendAsync 仅保证入队的公共契约;确定性门控回归在原实现得到 must-continue / sentinel 差异,在修复后通过。
长测依据 #67 已批准决议区分库保证与业务确认:增加 seed、动作、尝试 ID、会话及发送阶段轨迹;业务协议使用真实反向 ACK、重试和接收去重,重试前单独排空并检查队列续发,保留精确集合、每会话顺序、绑定消息不跨会话和不重复断言。无故障长流精确收齐后关闭 socket,所有读任务被观察、阶段等待有界。默认未启用时报告 Skip,细节见 docs/SOAK.md。
net48 已用 seconds=2 单目标定位:126/126 收到后取消令牌,5秒仍 WaitingForActivation;关闭客户端 socket 后立即 ObjectDisposedException。新收尾不再只靠令牌取消,也没有增加 job 上限。
验证:
关联 #67,不自动关闭。完整600秒五目标矩阵连续至少3次验收仍为0/3,短测不计数;若实现先合并,原实施任务持续跟踪并优先复用夜间运行,记录每次链接/提交/seed,实现变更或完整失败重置计数。#66 独立夜间验收保持原计划,不修改其台账或取消运行。
本实施任务已创建每日北京时间04:30验收heartbeat(streamframe-67),首次回查2026-09-09,优先复用每日03:00夜间600秒运行,不额外dispatch完整矩阵。三次连续证据齐后关闭Issue并停止;需新决策/重复失败无进展则报告并暂停。