Hi,
After upgrading to ES we started to notice that sometimes search or bulk request fail with:
[parent] Data too large, data for [<transport_request>] would be [3070458198/2.8gb], which is larger than the limit of [3060164198/2.8gb], real usage: [3070457280/2.8gb], new bytes reserved: [918/918b]
Querying our lab node during idle time:
curl 'cmw07:9201/_nodes/ZGJlnzm3Qn-PEcHV9bGz9Q/stats/breaker?human&pretty'
yields:
{
"_nodes" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"cluster_name" : "cm-well-dev1",
"nodes" : {
"ZGJlnzm3Qn-PEcHV9bGz9Q" : {
"timestamp" : 1559204491660,
"name" : "cmw07",
"transport_address" : "10.11.11.170:9301",
"host" : "cmw07",
"ip" : "10.11.11.170:9301",
"roles" : [
"data",
"ingest"
],
"attributes" : {
"rack_id" : "cmw07"
},
"breakers" : {
"request" : {
"limit_size_in_bytes" : 1932735283,
"limit_size" : "1.7gb",
"estimated_size_in_bytes" : 0,
"estimated_size" : "0b",
"overhead" : 1.0,
"tripped" : 0
},
"fielddata" : {
"limit_size_in_bytes" : 1288490188,
"limit_size" : "1.1gb",
"estimated_size_in_bytes" : 0,
"estimated_size" : "0b",
"overhead" : 1.03,
"tripped" : 0
},
"in_flight_requests" : {
"limit_size_in_bytes" : 3221225472,
"limit_size" : "3gb",
"estimated_size_in_bytes" : 0,
"estimated_size" : "0b",
"overhead" : 2.0,
"tripped" : 0
},
"accounting" : {
"limit_size_in_bytes" : 3221225472,
"limit_size" : "3gb",
"estimated_size_in_bytes" : 649278,
"estimated_size" : "634kb",
"overhead" : 1.0,
"tripped" : 0
},
"parent" : {
"limit_size_in_bytes" : 3060164198,
"limit_size" : "2.8gb",
"estimated_size_in_bytes" : 2793145280,
"estimated_size" : "2.6gb",
"overhead" : 1.0,
"tripped" : 2666
}
}
}
}
}
As you can see the estimated_size of the parent is huge and isn't the sum of all the other circuit breakers. It seems that the system considers the memory to be almost full even though it's not the case.
It doesn't happen with ES 6.8 where the parent total precisely matches the sum of all the others.
(BTW, it can be reproduced with the docker version, just issue the same curl and see about 200mb taken in parent where all others are 0)