57 lines
1.8 KiB
Plaintext
57 lines
1.8 KiB
Plaintext
|
[[circuit-breaker]]
|
||
|
=== Circuit Breaker
|
||
|
|
||
|
Elasticsearch contains multiple circuit breakers used to prevent operations from
|
||
|
causing an OutOfMemoryError. Each breaker specifies a limit for how much memory
|
||
|
it can use. Additionally, there is a parent-level breaker that specifies the
|
||
|
total amount of memory that can be used across all breakers.
|
||
|
|
||
|
These settings can be dynamically updated on a live cluster with the
|
||
|
<<cluster-update-settings,cluster-update-settings>> API.
|
||
|
|
||
|
[[parent-circuit-breaker]]
|
||
|
[float]
|
||
|
==== Parent circuit breaker
|
||
|
|
||
|
The parent-level breaker can be configured with the following setting:
|
||
|
|
||
|
`indices.breaker.total.limit`::
|
||
|
|
||
|
Starting limit for overall parent breaker, defaults to 70% of JVM heap.
|
||
|
|
||
|
[[fielddata-circuit-breaker]]
|
||
|
[float]
|
||
|
==== Field data circuit breaker
|
||
|
The field data circuit breaker allows Elasticsearch to estimate the amount of
|
||
|
memory a field will require to be loaded into memory. It can then prevent the
|
||
|
field data loading by raising an exception. By default the limit is configured
|
||
|
to 60% of the maximum JVM heap. It can be configured with the following
|
||
|
parameters:
|
||
|
|
||
|
`indices.breaker.fielddata.limit`::
|
||
|
|
||
|
Limit for fielddata breaker, defaults to 60% of JVM heap
|
||
|
|
||
|
`indices.breaker.fielddata.overhead`::
|
||
|
|
||
|
A constant that all field data estimations are multiplied with to determine a
|
||
|
final estimation. Defaults to 1.03
|
||
|
|
||
|
[[request-circuit-breaker]]
|
||
|
[float]
|
||
|
==== Request circuit breaker
|
||
|
|
||
|
The request circuit breaker allows Elasticsearch to prevent per-request data
|
||
|
structures (for example, memory used for calculating aggregations during a
|
||
|
request) from exceeding a certain amount of memory.
|
||
|
|
||
|
`indices.breaker.request.limit`::
|
||
|
|
||
|
Limit for request breaker, defaults to 40% of JVM heap
|
||
|
|
||
|
`indices.breaker.request.overhead`::
|
||
|
|
||
|
A constant that all request estimations are multiplied with to determine a
|
||
|
final estimation. Defaults to 1
|
||
|
|