DBAtlas · Atlas für Datenbankbetrieb

too_many_buckets_exception: Trying to create too many buckets

Elasticsearch

Was bedeutet das?

Eine Aggregationsabfrage wollte mehr Buckets erzeugen als die erlaubte Obergrenze (search.max_buckets, Standard 65.536). Die Abfrage wurde zum Schutz des Speichers abgelehnt.

Ursache

Aggregationen wie terms/date_histogram laufen auf Feldern hoher Kardinalität mit sehr großem size oder sehr feinem Intervall; verschachtelte Aggregationen vervielfachen die Bucket-Anzahl. Das Limit wird durchgesetzt, weil übermäßiges Erzeugen von Buckets den Speicher eines Knotens erschöpfen kann.

Lösung

Reduziere die Zahl der erzeugten Buckets: Senke size bei terms-Aggregationen, vergrößere das date_histogram-Intervall, entferne unnötige verschachtelte Aggregationen. Werden viele Ergebnisse benötigt, blättere mit einer composite-Aggregation durch sie. Das Limit anzuheben sollte das letzte Mittel sein und birgt ein Speicherrisiko: search.max_buckets lässt sich mit PUT _cluster/settings ändern, tu das aber mit Bedacht.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank