DBAtlas · Veritabanı operasyon atlası

circuit_breaking_exception: CircuitBreakingException[[parent] Data too large, data for [<...>] would be [...], which is larger than the limit of [...]]

Elasticsearch

Ne 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.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar