circuit_breaking_exception: CircuitBreakingException[[parent] Data too large, data for [<...>] would be [...], which is larger than the limit of [...]]
ElasticsearchNe demek?
Bir istek, heap circuit breaker sınırını aşacağı için reddedildi. Elasticsearch, OutOfMemoryError ile düğümün çökmesini önlemek amacıyla isteği önceden durdurur. [parent] breaker tüm bellek kullanımını, [fielddata] breaker text alanları üzerindeki fielddata belleğini korur.
Neden olur?
Yetersiz JVM heap, çok büyük/karmaşık agregasyonlar, geniş sonuç kümeleri, büyük bulk istekleri, text alanlara fielddata yüklenmesi veya aynı anda çok sayıda ağır sorgunun heap'i doldurması. Genellikle heap baskısının (heap pressure) belirtisidir.
Nasıl çözülür?
Sorguları küçültün: agregasyon boyutunu, bulk batch boyutunu ve döndürülen alanları azaltın. Text alanlar üzerinde fielddata yerine keyword alt-alanı (.keyword) ile agregasyon yapın. JVM heap'i artırın (sunucu RAM'inin ~%50'si, en fazla ~31GB). Heap baskısını izleyin: GET _cat/nodes?v&h=name,heap.percent. Breaker limitlerini geçici artırmak yerine kök nedeni (bellek/sorgu) çözün. GET _nodes/stats/breaker ile hangi breaker'ın tetiklendiğine bakın.
Aynı motorda diğer kayıtlar
- cluster_block_exceptionClusterBlockException[blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block]] (7.x öncesi: FORBIDDEN/12/index read-only / allow delete (api))
- index_read_only_allow_deleteTOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block (eski: FORBIDDEN/12/index read-only / allow delete (api))
- high_disk_watermark_exceededhigh disk watermark [90%] exceeded / flood stage disk watermark [95%] exceeded
- mapper_parsing_exceptionmapper_parsing_exception: failed to parse field [...] of type [...]
- strict_dynamic_mapping_exceptionstrict_dynamic_mapping_exception: mapping set to strict, dynamic introduction of [...] within [...] is not allowed
- illegal_argument_exception_fielddataillegal_argument_exception: Fielddata is disabled on text fields by default. Set fielddata=true on [your_field] in order to load fielddata in memory
- search_phase_execution_exceptionsearch_phase_execution_exception: all shards failed / Failed to execute phase [query]