DBAtlas · Atlas d'exploitation des bases de données

too_many_buckets_exception: Trying to create too many buckets

Elasticsearch

Que signifie cette erreur ?

Une requête d'agrégation a tenté de produire plus de buckets que la limite supérieure autorisée (search.max_buckets, 65,536 par défaut). La requête a été refusée pour protéger la mémoire.

Cause

Agrégations comme terms/date_histogram exécutées sur des champs à forte cardinalité avec un size très élevé ou un intervalle très fin ; agrégations imbriquées qui multiplient le nombre de buckets. La limite est imposée car une création excessive de buckets peut épuiser la mémoire du nœud.

Comment la corriger

Réduisez le nombre de buckets produits : diminuez le size des agrégations terms, élargissez l'intervalle de date_histogram, supprimez les agrégations imbriquées inutiles. Si de nombreux résultats sont nécessaires, paginez-les avec une composite aggregation. Relever la limite doit rester un dernier recours et comporte un risque mémoire : search.max_buckets peut être modifié avec PUT _cluster/settings, mais avec prudence.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur