Class HierarchyCircuitBreakerService
- java.lang.Object
-
- org.elasticsearch.common.component.AbstractComponent
-
- org.elasticsearch.common.component.AbstractLifecycleComponent
-
- org.elasticsearch.indices.breaker.CircuitBreakerService
-
- org.elasticsearch.indices.breaker.HierarchyCircuitBreakerService
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,LifecycleComponent
,Releasable
public class HierarchyCircuitBreakerService extends CircuitBreakerService
CircuitBreakerService that attempts to redistribute space between breakers if tripped
-
-
Field Summary
-
Fields inherited from class org.elasticsearch.common.component.AbstractLifecycleComponent
lifecycle
-
Fields inherited from class org.elasticsearch.common.component.AbstractComponent
deprecationLogger, logger, settings
-
-
Constructor Summary
Constructors Constructor Description HierarchyCircuitBreakerService(Settings settings, ClusterSettings clusterSettings)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkParentLimit(java.lang.String label)
Checks whether the parent breaker has been trippedCircuitBreaker
getBreaker(java.lang.String name)
void
registerBreaker(BreakerSettings breakerSettings)
Allows to register a custom circuit breaker.AllCircuitBreakerStats
stats()
CircuitBreakerStats
stats(java.lang.String name)
static void
validateSettings(BreakerSettings[] childrenSettings)
Validate that child settings are valid-
Methods inherited from class org.elasticsearch.indices.breaker.CircuitBreakerService
doClose, doStart, doStop
-
Methods inherited from class org.elasticsearch.common.component.AbstractLifecycleComponent
addLifecycleListener, close, lifecycleState, removeLifecycleListener, start, stop
-
Methods inherited from class org.elasticsearch.common.component.AbstractComponent
nodeName
-
-
-
-
Field Detail
-
TOTAL_CIRCUIT_BREAKER_LIMIT_SETTING
public static final Setting<ByteSizeValue> TOTAL_CIRCUIT_BREAKER_LIMIT_SETTING
-
FIELDDATA_CIRCUIT_BREAKER_LIMIT_SETTING
public static final Setting<ByteSizeValue> FIELDDATA_CIRCUIT_BREAKER_LIMIT_SETTING
-
FIELDDATA_CIRCUIT_BREAKER_OVERHEAD_SETTING
public static final Setting<java.lang.Double> FIELDDATA_CIRCUIT_BREAKER_OVERHEAD_SETTING
-
FIELDDATA_CIRCUIT_BREAKER_TYPE_SETTING
public static final Setting<CircuitBreaker.Type> FIELDDATA_CIRCUIT_BREAKER_TYPE_SETTING
-
REQUEST_CIRCUIT_BREAKER_LIMIT_SETTING
public static final Setting<ByteSizeValue> REQUEST_CIRCUIT_BREAKER_LIMIT_SETTING
-
REQUEST_CIRCUIT_BREAKER_OVERHEAD_SETTING
public static final Setting<java.lang.Double> REQUEST_CIRCUIT_BREAKER_OVERHEAD_SETTING
-
REQUEST_CIRCUIT_BREAKER_TYPE_SETTING
public static final Setting<CircuitBreaker.Type> REQUEST_CIRCUIT_BREAKER_TYPE_SETTING
-
ACCOUNTING_CIRCUIT_BREAKER_LIMIT_SETTING
public static final Setting<ByteSizeValue> ACCOUNTING_CIRCUIT_BREAKER_LIMIT_SETTING
-
ACCOUNTING_CIRCUIT_BREAKER_OVERHEAD_SETTING
public static final Setting<java.lang.Double> ACCOUNTING_CIRCUIT_BREAKER_OVERHEAD_SETTING
-
ACCOUNTING_CIRCUIT_BREAKER_TYPE_SETTING
public static final Setting<CircuitBreaker.Type> ACCOUNTING_CIRCUIT_BREAKER_TYPE_SETTING
-
IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_LIMIT_SETTING
public static final Setting<ByteSizeValue> IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_LIMIT_SETTING
-
IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_OVERHEAD_SETTING
public static final Setting<java.lang.Double> IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_OVERHEAD_SETTING
-
IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_TYPE_SETTING
public static final Setting<CircuitBreaker.Type> IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_TYPE_SETTING
-
-
Constructor Detail
-
HierarchyCircuitBreakerService
public HierarchyCircuitBreakerService(Settings settings, ClusterSettings clusterSettings)
-
-
Method Detail
-
validateSettings
public static void validateSettings(BreakerSettings[] childrenSettings) throws java.lang.IllegalStateException
Validate that child settings are valid- Throws:
java.lang.IllegalStateException
-
getBreaker
public CircuitBreaker getBreaker(java.lang.String name)
- Specified by:
getBreaker
in classCircuitBreakerService
- Returns:
- the breaker that can be used to register estimates against
-
stats
public AllCircuitBreakerStats stats()
- Specified by:
stats
in classCircuitBreakerService
- Returns:
- stats about all breakers
-
stats
public CircuitBreakerStats stats(java.lang.String name)
- Specified by:
stats
in classCircuitBreakerService
- Returns:
- stats about a specific breaker
-
checkParentLimit
public void checkParentLimit(java.lang.String label) throws CircuitBreakingException
Checks whether the parent breaker has been tripped- Throws:
CircuitBreakingException
-
registerBreaker
public void registerBreaker(BreakerSettings breakerSettings)
Allows to register a custom circuit breaker. Warning: Will overwrite any existing custom breaker with the same name.- Specified by:
registerBreaker
in classCircuitBreakerService
-
-