Using the Circuit Breaker in SME
To prevent critical levels of RAM usage during search queries, you need to enable the SA Circuit Breaker using the sme.breaker.enable
setting in Cluster Settings.
The SME Circuit Breaker allows limiting RAM consumption by search queries and terminating them if a specified limit is exceeded.
For the SME Circuit Breaker to work correctly, you must enable limits.
Circuit Breaker Works
If limits and the SME Circuit Breaker are enabled, every data request from any source, as well as command execution, will trigger a calculation of the volume of processed events. If the set limit is exceeded, the query that caused it will be terminated to prevent an Out Of Memory
error. The calculation accuracy is controlled by the cluster setting sme.breaker.payload.step
.
Circuit Breaker System Settings
Circuit Breaker settings are stored in _cluster/settings
. The table below lists the Circuit Breaker settings and their default values.
Setting Name | Description | Default Value |
---|---|---|
sme.breaker.enable | Enables the SME Circuit Breaker. | false |
sme.breaker.limit | JVM heap usage limit. | 60% |
sme.breaker.overhead | Additional coefficient for determining total RAM usage. | 1.0 |
sme.breaker.type | Circuit Breaker type in OpenSearch. Not recommended to modify. | memory |
sme.breaker.payload.step | Step size for estimating event size in the payload. | 4 |