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
Commit f3a9782
Browse filesBrowse the repository at this point in the historyBrowse files
fix(gen): no rig limit may be indistinguishable from a gateway failure
Two of ours were, and one of them was a hole I left in this morning's fix.
PORT EXHAUSTION was counted separately an hour ago and then still fell through
to `fail`, so the window failed anyway and failed for our reason. Counting a
thing apart is not the same as acting on it. A window containing connections
THIS HOST could not make (EADDRNOTAVAIL/EMFILE) never ran at the concurrency it
claims, which is precisely what `spawn_failed` already models, so it is
unmeasured now - the same treatment, for the same reason.
THE RESPONSE BUDGET is thirty seconds, and exhausting it returned the same
`Exchange::Failed` a non-2xx does. It stays a failure, because a caller waiting
thirty seconds for one request got nothing - but the bound is OURS, and the
artifact could not say so. It is counted in both places now: in `fail` because
it is one, and in `budget_exceeded` because a window failing for our timeout
must not look identical to one failing for the gateway's.
Both cross the subprocess boundary in the stats line, since that line is
everything the parent learns from the child, and both parse leniently: an older
generator's line simply has neither field, and absent means "not reported"
rather than "did not happen". Refusing an otherwise complete line would turn a
cosmetic version skew into a lost measurement.
The budget is roughly a thousand times the slowest gateway this field has
measured, so it should never fire. "Should never fire" is what was true of the
ephemeral port range this morning, which is the whole argument for making it
visible when it does.
405 tests pass. Confirmed RED with the counters stripped from the wire.
0 commit comments