The Hook Circuit Breaker feature improves stability and saves processing time by protecting the system from high rates of hook failures. It tracks calls to each hook type individually.
Each extension point type has its own circuit breaker instance that tracks the rate of failed executions for that hook. The circuit breaker can be in one of three states: closed, open, or half-open. Normally, it’s closed. If at any time, the 100 most recent calls to the hook include more than 50 failures, the following process is triggered:
open
. This change is
logged.503 (Service Unavailable)
with the fault type
HookCircuitBreakerException
.half-open
.
This change is logged.closed
and it resumes tracking
calls to the hook. This change is logged.If your hook calls return 503 (Service Unavailable)
errors, use Log
Center to investigate the cause.
Caused by
section. It can contain
information about the cause of the hook failures. Some possible causes include:For information on extension points and supported resources, see the Hooks topic.