Class HierarchyCircuitBreakerService
- java.lang.Object
-
- 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
-
-
Constructor Summary
Constructors Constructor Description HierarchyCircuitBreakerService(Settings settings, ClusterSettings clusterSettings)
-
Method Summary
Modifier and Type Method Description voidcheckParentLimit(java.lang.String label)Checks whether the parent breaker has been trippedCircuitBreakergetBreaker(java.lang.String name)voidregisterBreaker(BreakerSettings breakerSettings)Allows to register a custom circuit breaker.AllCircuitBreakerStatsstats()CircuitBreakerStatsstats(java.lang.String name)static voidvalidateSettings(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
-
-
-
-
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:
getBreakerin classCircuitBreakerService- Returns:
- the breaker that can be used to register estimates against
-
stats
public AllCircuitBreakerStats stats()
- Specified by:
statsin classCircuitBreakerService- Returns:
- stats about all breakers
-
stats
public CircuitBreakerStats stats(java.lang.String name)
- Specified by:
statsin classCircuitBreakerService- Returns:
- stats about a specific breaker
-
checkParentLimit
public void checkParentLimit(java.lang.String label) throws CircuitBreakingExceptionChecks 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:
registerBreakerin classCircuitBreakerService
-
-