elasticsearch memory_error ai_generated true

circuit_breaking_exception: [parent] Data too large, data for [request] would be larger than limit

ID: elasticsearch/circuit-breaker-exception

Also available as: JSON · Markdown
82%Fix Rate
88%Confidence
3Evidence
2023-01-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
8 active

Root Cause

JVM heap usage exceeded circuit breaker limit. Query too large, too many aggregations, or heap too small.

generic

Workarounds

  1. 90% success Reduce query scope: add filters, limit aggregation buckets
    Add date range filter; set size:0 for aggregation-only queries; limit terms agg size

    Sources: https://www.elastic.co/guide/en/elasticsearch/reference/current/

  2. 85% success Increase JVM heap (up to 50% of RAM, max ~31GB)
    ES_JAVA_OPTS='-Xms16g -Xmx16g'  # in jvm.options or docker env
  3. 82% success Use scroll/search_after for large result sets instead of deep pagination

Dead Ends

Common approaches that don't work:

  1. Disable circuit breakers 92% fail

    Circuit breakers prevent OOM crashes. Disabling them leads to unrecoverable OutOfMemoryError.

  2. Set ES_JAVA_OPTS heap to all available RAM 80% fail

    ES heap should be max 50% of RAM and not exceed 31GB (compressed oops limit).