Circuit_breaking_exception

ES:7.10.2
this is my error log:

[parent] Data too large, 
data for [indices:data/write/bulk[s]] would be [30380624822/28.2gb], 
which is larger than the limit of [28975929753/26.9gb], 
real usage: [30380571432/28.2gb], 
new bytes reserved: [53390/52.1kb], 
usages [request=0/0b, fielddata=7605882/7.2mb, in_flight_requests=89910/87.8kb, model_inference=0/0b, accounting=77912706/74.3mb]

my cluster settings are:
heap.max = 29.9gb
indices.breaker.total.use_real_memory = true
indices.breaker.total.limit = 90%
so the limit is: 29.9gb x 90% =[28975929753/26.9gb]

my question is why the real usage[30380571432/28.2gb] can bigger than the limit[28975929753/26.9gb] ?
and how can i find out who uses this memory: usage[30380571432/28.2gb]

HI @casterQ

There are documentation that explains the circuit breaker errors step by step:

Fix common cluster issues | Elasticsearch Guide [7.12] | Elastic

Maybe I can help you understand

Best regards

Thanks for the documentation;
My question is that at some point,current real usage is larger than the limit(heap.max * indices.breaker.total.limit),Shouldn't it breaker when the limit is reached?

Looking forward to your recovery

Your bulk sizes are too large to fit into heap, so look at decreasing those.

i think my bulk size only need 52.1KB mem,and currnet use 28.2gb is larger than limit 26.9gb