DBAtlas · Атлас эксплуатации баз данных

too_many_buckets_exception: Trying to create too many buckets

Elasticsearch

Что это значит?

Запрос агрегации попытался создать больше корзин (buckets), чем допускает верхний лимит (search.max_buckets, по умолчанию 65,536). Запрос отклонён для защиты памяти.

Почему возникает?

Агрегации, такие как terms/date_histogram, выполняются по полям с высокой кардинальностью с очень большим size или очень мелким интервалом; вложенные агрегации умножают число корзин. Лимит применяется, так как чрезмерное создание корзин может исчерпать память узла.

Как исправить

Уменьшите число создаваемых корзин: снизьте size агрегаций terms, увеличьте интервал date_histogram, уберите ненужные вложенные агрегации. Если нужно много результатов, получайте их постранично с помощью агрегации composite. Повышение лимита должно быть крайней мерой и несёт риск для памяти: search.max_buckets можно изменить через PUT _cluster/settings, но делайте это осторожно.

Открыть в DBAtlas →

Ещё по этой СУБД