You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
--load: when the server dies mid-run, the run keeps firing instant failures and reports higher throughput and lower latency #2835
Operating system (and browser, for the web client)
Linux (Debian)
Transport
Streamable HTTP
MCP server under inspection
A small instrumented Streamable HTTP server built on the repo's own createTestServerHttp (test-servers), exposing:
sleep {ms} — waits ms, returns ok
flaky {ms, failEvery, mode} — every failEvery-th call fails instantly (mode: "tool" → isError: true), the rest wait ms and succeed
unique {ms} — waits ms, then throws
It also records server-side arrivals, in-flight count and arrival rate, so the CLI summary could be checked against ground truth. Happy to share the ~100-line script.
The run stops early once the server is clearly gone (e.g. after N consecutive transport errors or ~1 s of nothing but failures) and the summary says so (stoppedEarly + reason). Latency/throughput are not inflated by the failures.
Actual behavior
The engine keeps claiming slots for the remaining ~4 s of instant failures:
Metric
Reported
requests
6,330
ok / errors
725 / 5,605 (fetch failed)
throughput
1,054.7 /s (~3× the healthy rate)
latency p50 / p99
7.7 ms / 28.6 ms (below the healthy 10 ms tool)
exit code
0
mcpdo aborts a run when the client status turns terminal, but the one-shot CLI has no such guard, and over Streamable HTTP a refused fetch need not change the client status at all — so the protection likely misses this case in mcpdo too.
Logs, errors, or screenshots
Suggested fix: a small circuit breaker in the shared engine (core/cli/handlers/load-test.ts) so the CLI and mcpdo agree, reporting stoppedEarly and its reason.
Already prototyped a fix?
No response
Before you submit
I searched existing issues and this is not a duplicate.
This is not a security vulnerability report (those go through the private advisory process).
Activity
cliffhall commentedon Oct 29, 2026
Triage: Priority Medium (total 7)
buglabel (no milestone, assignee, epic, engagement or reporter-set priority)Board: #28, Status
Incoming(awaiting maintainer review — no milestone yet).cliffhall commentedon Oct 29, 2026
Fixed by #2855, merged into
v2/main; verified together with the rest of v2.14.0 in the rollup #2858.