circuit_breaker.asciidoc 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. [[circuit-breaker]]
  2. === Circuit Breaker
  3. Elasticsearch contains multiple circuit breakers used to prevent operations from
  4. causing an OutOfMemoryError. Each breaker specifies a limit for how much memory
  5. it can use. Additionally, there is a parent-level breaker that specifies the
  6. total amount of memory that can be used across all breakers.
  7. These settings can be dynamically updated on a live cluster with the
  8. <<cluster-update-settings,cluster-update-settings>> API.
  9. [[parent-circuit-breaker]]
  10. [float]
  11. ==== Parent circuit breaker
  12. The parent-level breaker can be configured with the following setting:
  13. `indices.breaker.total.limit`::
  14. Starting limit for overall parent breaker, defaults to 70% of JVM heap.
  15. [[fielddata-circuit-breaker]]
  16. [float]
  17. ==== Field data circuit breaker
  18. The field data circuit breaker allows Elasticsearch to estimate the amount of
  19. memory a field will require to be loaded into memory. It can then prevent the
  20. field data loading by raising an exception. By default the limit is configured
  21. to 60% of the maximum JVM heap. It can be configured with the following
  22. parameters:
  23. `indices.breaker.fielddata.limit`::
  24. Limit for fielddata breaker, defaults to 60% of JVM heap
  25. `indices.breaker.fielddata.overhead`::
  26. A constant that all field data estimations are multiplied with to determine a
  27. final estimation. Defaults to 1.03
  28. [[request-circuit-breaker]]
  29. [float]
  30. ==== Request circuit breaker
  31. The request circuit breaker allows Elasticsearch to prevent per-request data
  32. structures (for example, memory used for calculating aggregations during a
  33. request) from exceeding a certain amount of memory.
  34. `indices.breaker.request.limit`::
  35. Limit for request breaker, defaults to 40% of JVM heap
  36. `indices.breaker.request.overhead`::
  37. A constant that all request estimations are multiplied with to determine a
  38. final estimation. Defaults to 1