Class CircuitBreaker
- java.lang.Object
-
- org.apache.solr.util.circuitbreaker.CircuitBreaker
-
- Direct Known Subclasses:
CPUCircuitBreaker
,MemoryCircuitBreaker
public abstract class CircuitBreaker extends Object
Default class to define circuit breakers for Solr.There are two (typical) ways to use circuit breakers: 1. Have them checked at admission control by default (use CircuitBreakerManager for the same). 2. Use the circuit breaker in a specific code path(s).
TODO: This class should be grown as the scope of circuit breakers grow.
The class and its derivatives raise a standard exception when a circuit breaker is triggered. We should make it into a dedicated exception (https://issues.apache.org/jira/browse/SOLR-14755)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CircuitBreaker.CircuitBreakerConfig
-
Field Summary
Fields Modifier and Type Field Description protected CircuitBreaker.CircuitBreakerConfig
config
static String
NAME
-
Constructor Summary
Constructors Constructor Description CircuitBreaker(CircuitBreaker.CircuitBreakerConfig config)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract String
getDebugInfo()
Get debug useful info.abstract String
getErrorMessage()
Get error message when the circuit breaker triggersprotected boolean
isEnabled()
abstract boolean
isTripped()
Check if circuit breaker is tripped.
-
-
-
Field Detail
-
NAME
public static final String NAME
- See Also:
- Constant Field Values
-
config
protected final CircuitBreaker.CircuitBreakerConfig config
-
-
Constructor Detail
-
CircuitBreaker
public CircuitBreaker(CircuitBreaker.CircuitBreakerConfig config)
-
-
Method Detail
-
isEnabled
protected boolean isEnabled()
-
isTripped
public abstract boolean isTripped()
Check if circuit breaker is tripped.
-
getDebugInfo
public abstract String getDebugInfo()
Get debug useful info.
-
getErrorMessage
public abstract String getErrorMessage()
Get error message when the circuit breaker triggers
-
-