HalfOpen
The CircuitBreaker is in HalfOpen state while it's allowing a test request to go through.
All other requests made while the test request is still running will short-circuit/fail-fast.
If the
test request
succeeds, then the CircuitBreaker is tripped back into Closed, with the reset timeout, and the failures count also reset to their initial values.If the
test request
fails, then the CircuitBreaker is tripped back into Open, the resetTimeout is multiplied by the exponentialBackoffFactor, up to the configured maxResetTimeout.
Parameters
is the current reset timeout
that the CircuitBreaker has to stay in Open state. When the reset timeout
lapsed, than the CircuitBreaker will allow a test request to go through in HalfOpen. If the test request failed, the CircuitBreaker will go back into Open and it'll multiply the resetTimeout with the the exponential backoff factor.