The Circuit Breaker is a mechanism used to prevent operations from causing an OutOfMemoryError. It seems like at the moment you made your query, Elasticsearch was using most of the JVM heap configured, and the total memory required for all operations was superior to the memory available, so the operation you requested was aborted.
The parent-level breaker can be configured with the following settings:
indices.breaker.total.use_real_memory Static setting determining whether the parent breaker should take real memory usage into account (true) or only consider the amount that is reserved by child circuit breakers (false). Defaults to true. indices.breaker.total.limit Starting limit for overall parent breaker defaults to 70% of JVM heap if indices.breaker.total.use_real_memory is false. If indices.breaker.total.use_real_memory is true, defaults to 95% of the JVM heap.
Source: https://www.elastic.co/guide/en/elasticsearch/reference/master/circuit-breaker.html
If you are using the default configuration, it means that when you ran your query, the total memory required exceeded 95% of the JVM heap.
Taking all this into account, the conclusion is that there are two possibilities:
The Elasticsearch machine does not have enough resources to run all your queries.
The JVM heap configuration is not optimal.
Please, could you share the following information with me?
The output of the commands free -h and ps aux | grep elasticsearch.
Your configuration files /etc/elasticsearch/elasticsearch.yml and /etc/elasticsearch/jvm.options.
Let us know if you have any questions.
Regards,