We've seen an issue recently with a user that had an ES|QL query that includes a QueryDSL filter that contains a geo_shape filter doing a within check on a very large polygon (eg. the border of an entire country). This results in OperatorStatus.processedQueries map containing very large keys. The heap dump analysis showed a path to the memory that looked like:
- compute.operator.OperatorStatus
- compute.lucene.LuceneOperator$Status


We should investigate if the processedQueries needs to maintain the full polygon information here, or if this could be replaced by a hashcode instead. Also, check that this is protected by a circuit-breaker.
We've seen an issue recently with a user that had an ES|QL query that includes a QueryDSL filter that contains a
geo_shapefilter doing awithincheck on a very large polygon (eg. the border of an entire country). This results inOperatorStatus.processedQueriesmap containing very large keys. The heap dump analysis showed a path to the memory that looked like:We should investigate if the processedQueries needs to maintain the full polygon information here, or if this could be replaced by a hashcode instead. Also, check that this is protected by a circuit-breaker.