[[rejected-requests]] === Rejected requests When {es} rejects a request, it stops the operation and returns an error with a `429` response code. Rejected requests are commonly caused by: * A <>. A depleted `search` or `write` thread pool returns a `TOO_MANY_REQUESTS` error message. * A <>. * High <> that exceeds the <>. [discrete] [[check-rejected-tasks]] ==== Check rejected tasks To check the number of rejected tasks for each thread pool, use the <>. A high ratio of `rejected` to `completed` tasks, particularly in the `search` and `write` thread pools, means {es} regularly rejects requests. [source,console] ---- GET /_cat/thread_pool?v=true&h=id,name,active,rejected,completed ---- [discrete] [[prevent-rejected-requests]] ==== Prevent rejected requests **Fix high CPU and memory usage** If {es} regularly rejects requests and other tasks, your cluster likely has high CPU usage or high JVM memory pressure. For tips, see <> and <>. **Prevent circuit breaker errors** If you regularly trigger circuit breaker errors, see <> for tips on diagnosing and preventing them.