Best practices: TransportError(429, 'circuit_breaking_exception', '[parent] Data too large, data for [<transport_request>]

Hi!

With time, an error occurs more and more often on my server:

elasticsearch.exceptions.TransportError: TransportError(429, 'circuit_breaking_exception', '[parent] Data too large, data for [<transport_request>] would be [1977484092/1.8gb], which is larger than the limit of [1973865676/1.8gb], real usage: [1977477480/1.8gb], new bytes reserved: [6612/6.4kb], usages [request=80/80b, fielddata=1221814/1.1mb, in_flight_requests=6612/6.4kb, accounting=618490711/589.8mb]')

-- # java -version
openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1, mixed mode, sharing)

Unfortunately, I only have 4 GB of RAM per node.

In jvm.options, I'm set:

-Xms2g
-Xmx2g

-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-Djava.io.tmpdir=${ES_TMPDIR}
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/lib/elasticsearch
-XX:ErrorFile=/var/log/elasticsearch/hs_err_pid%p.log
8:-XX:+PrintGCDetails
8:-XX:+PrintGCDateStamps
8:-XX:+PrintTenuringDistribution
8:-XX:+PrintGCApplicationStoppedTime
8:-Xloggc:/var/log/elasticsearch/gc.log
8:-XX:+UseGCLogFileRotation
8:-XX:NumberOfGCLogFiles=32
8:-XX:GCLogFileSize=64m
9-:-Xlog:gc*,gc+age=trace,safepoint:file=/var/log/elasticsearch/gc.log:utctime,pid,tags:filecount=32,filesize=64m

I don't use queries that return a lot of data.
However, I often use scroll (scroll on a large amount of data with sorting by field).

Is there any way to minimize the risk of this error?
I understand it's a matter of a small amount of RAM?

There is some information about this error on the web.
But what best practices are recommended here?

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