Files
PolyLoop/tools/soak
iomgaa e590bea70e fix(soak): 环境客户端把传输层失败也翻成 AppWorldError,「连不上」那一档原本没实现
execute 的 docstring 一直写着「只有环境自己坏了——连不上、HTTP 非 2xx、返回体不是约定
形状——才抛 AppWorldError」,但实现里只处理了后两档。连不上、读超时、连接中途断掉时,
httpx 抛的是它自己的异常类型,而上层的动作执行接缝只认 AppWorldError,于是容器一挂整次
运行会以一个未捕获的第三方异常炸出去,正确的行为是记成环境故障、由库合成一段观察、以
env_error 收尾。

这个缺口是压测里真把容器 docker kill 掉之后才暴露的——在那之前它只写在 docstring 里。
顺带覆盖了另一个一直没验过的路径:客户端读超时同属这一类。

CancelledError 继承 BaseException,不在 httpx.HTTPError 的范围内,取消照旧原样穿过去。

修完重跑那一类,七条判据仍然全过。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 11:16:08 -04:00
..