A wrapped function that constantly runs into timeouts may have a sensible effect on p99 latencies if it gets called synchronously in half-open state.
To avoid these short latency spikes, hoglet could intruduce a "stale open" (or "async half-open") mode, where half-open retries happen out-of-band. The caller keeps getting a ErrBreakerOpen until the wrapped function returns successfully from a call in half-open state.
⚠️ This mode should only be used for wrapped functions that do not have side-effects, since they may otherwise change state in unexpected ways.
A wrapped function that constantly runs into timeouts may have a sensible effect on p99 latencies if it gets called synchronously in half-open state.
To avoid these short latency spikes, hoglet could intruduce a "stale open" (or "async half-open") mode, where half-open retries happen out-of-band. The caller keeps getting a
ErrBreakerOpenuntil the wrapped function returns successfully from a call in half-open state.