Elasticsearch with circuit breaking exception, [parent] Data too large

Wang Frances
1 min readDec 17, 2022

--

Problem Statement, when I perform update bulk operation which obj is more than 10000 records of index with more than 2 G size, I get the timeout message, while other client got the error below when request to add new record.

circuit breaking exception {‘error’: {‘root cause’: [{‘type’: ‘circuit breaking exception’, ‘reason’: ‘[parent] Data too large, data for [<http request>] would be [1048469122/999.8mb], which is larger than the limit of [1020054732/972.7mb], real usage: [1048468880/999.8mb], new bytes reserved: [242/242b], usages [request=0/0b, fielddata=0/0b, in flight requests=16960490/16.1mb, accounting=727876/710.8kb]’, ‘bytes wanted’: 1048469122, ‘bytes limit’: 1020054732, ‘durability’: ‘TRANSIENT’}], ‘type’: ‘circuit breaking exception’, ‘reason’: ‘[parent] Data too large, data for [<http request>] would be [1048469122/999.8mb], which is larger than the limit of [1020054732/972.7mb], real usage: [1048468880/999.8mb], new bytes reserved: [242/242b], usages [request=0/0b, fielddata=0/0b, in flight requests=16960490/16.1mb, accounting=727876/710.8kb]’, ‘bytes wanted’: 1048469122, ‘bytes limit’: 1020054732, ‘durability’: ‘TRANSIENT’}, ‘status’: 429

Solution

Increase the heap size of the ES setting by ES_JAVA_OPTS=-Xms2g -Xmx2g

version: '3.1'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0
container_name: es01
environment:
- node.name=es01
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /home/frances/es/data/es01:/usr/share/elasticsearch/data
ports:
- 9209:9200
networks:
- elastic
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0
container_name: es02
environment:
- node.name=es02
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /home/frances/es/data/es02:/usr/share/elasticsearch/data
networks:
- elastic
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0
container_name: es03
environment:
- node.name=es03
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /home/frances/es/data/es03:/usr/share/elasticsearch/data
networks:
- elastic

networks:
elastic:
driver: bridge

--

--