Signals can outrun TypeSafe's rate limits, and a 429 is retried as any other error #277
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
TypeSafe's default limits are 80 requests and 100,000 input tokens a second. Signals cap calls at six in flight (#275), not a rate: at the fastest call seen, 74 ms, six in flight is 81 a second, and a call carrying many Signals is thousands of tokens. A 429 is counted as an error and the rest of the pass goes on asking. Pace calls under both limits, and stop the pass on a 429.
Fixed in
ce78599: every call to Jev takes a turn under 60 calls and 80,000 input tokens a second (TypeSafe allows 80 and 100,000), up to ten in flight; a 429 holds every call back for Retry-After (or 1 s) and ends the pass. Each jev span records paced_ms; /metrics has ipx_jev_paced_seconds_total and result="rate_limited"; the dashboard's Signals row draws calls and tokens a second against the limit. Deployed in ipx 1.3.1-dev.