DBAtlas · Database operations atlas

es_rejected_execution_exception: es_rejected_execution_exception: rejected execution of ... on ... (queue capacity ...) (HTTP 429)

Elasticsearch

What does it mean?

An operation was rejected because the queue capacity of the relevant thread pool (search, write/bulk, etc.) is full. Under overload, Elasticsearch protects itself by turning requests away (backpressure) and returns HTTP 429 (Too Many Requests).

Why does it happen?

Very high concurrent request volume, very large or very frequent bulk requests, heavy aggregation/search load, insufficient node/CPU resources, or a thread pool queue too small for the workload.

How to fix it

Retry on the client side with exponential backoff; 429 is normally transient. Reduce the bulk batch size and sending rate, and lower concurrency. Monitor rejected operations: GET _cat/thread_pool?v&h=node_name,name,active,queue,rejected. For sustained load, add nodes/resources (horizontal scaling). Increasing the queue size is a last resort; the root cause is capacity.

Open in DBAtlas →

More from this engine