CircuitBreakingException: [parent] Data too large

Hi,

I query elasticsearch data for displaying results on a website (after processing that data). but after migrating elasticsearch from 5.x to 7.0, when a query for a month's data i get:

Error when trying to execute search: ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host='host', port=9200): Read timed out. (read timeout=30))

When i look at the logs i find this error:

path: /index-2019-25/_doc, params: {index=index-2019-25}
org.elasticsearch.common.breaker.CircuitBreakingException: [parent] Data too large, data for [<http_request>] would be [16517131920/15.3gb], which is larger than the limit of [16254631936/15.1gb], real usage: [16517131408/15.3gb], new bytes reserved: [512/512b]
        at org.elasticsearch.indices.breaker.HierarchyCircuitBreakerService.checkParentLimit(HierarchyCircuitBreakerService.java:343) ~[elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.common.breaker.ChildMemoryCircuitBreaker.addEstimateBytesAndMaybeBreak(ChildMemoryCircuitBreaker.java:128) ~[elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:232) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.rest.RestController.tryAllHandlers(RestController.java:337) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:174) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.http.AbstractHttpServerTransport.dispatchRequest(AbstractHttpServerTransport.java:317) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.http.AbstractHttpServerTransport.handleIncomingRequest(AbstractHttpServerTransport.java:367) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.http.AbstractHttpServerTransport.incomingRequest(AbstractHttpServerTransport.java:296) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.http.netty4.Netty4HttpRequestHandler.channelRead0(Netty4HttpRequestHandler.java:66) [transport-netty4-client-7.0.0.jar:7.0.0]
        at org.elasticsearch.http.netty4.Netty4HttpRequestHandler.channelRead0(Netty4HttpRequestHandler.java:31) [transport-netty4-client-7.0.0.jar:7.0.0]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.32.Final.jar:4.1.32.Final]

I configured 16GB of heap for elasticsearch on all 5 nodes. When i checked 7.0 documentation for circuit breakers here I found that limit defaults to 95% JVM heap. But in my old cluster (5.6) where this was working fine had only 12 GB of heap configured and the queries were working fine even though the default limit is 70% of JVM heap in 5.6 according to this

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.