# 2.4.1 groovy script aggregation make high cpu

**URL:** <https://discuss.elastic.co/t/2-4-1-groovy-script-aggregation-make-high-cpu/323107>\
**Category:** Elasticsearch\
**Created:** [January 13, 2023, 8:44am UTC](https://discuss.elastic.co/t/2-4-1-groovy-script-aggregation-make-high-cpu/323107 "2023-01-13T08:44:21Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![huasheng\_zeng](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/huasheng_zeng/32/70205_2.png) [@huasheng\_zeng](https://discuss.elastic.co/u/huasheng_zeng)\
**Post date:** [January 13, 2023, 8:44am UTC](https://discuss.elastic.co/t/2-4-1-groovy-script-aggregation-make-high-cpu/323107/1 "2023-01-13T08:44:21Z")

</div>

es version is 2.4.1  
query request is

```auto
{"aggregations":{"0-0":{"aggregations":{"0-1":{"aggregations":{"0-2":{"aggregations":{"1-0":{"aggregations":{"1-1":{"reverse_nested":{}}},"filters":{"filters":[{"script":{"script":{"file":"field_trend_report_filter","params":{"fuuid":"field005","start":1672848000,"t":1672934399}}}},{"script":{"script":{"file":"field_trend_report_filter","params":{"fuuid":"field005","start":1672934400,"t":1673020799}}}},{"script":{"script":{"file":"field_trend_report_filter","params":{"fuuid":"field005","start":1673020800,"t":1673107199}}}},{"script":{"script":{"file":"field_trend_report_filter","params":{"fuuid":"field005","start":1673107200,"t":1673193599}}}},{"script":{"script":{"file":"field_trend_report_filter","params":{"fuuid":"field005","start":1673193600,"t":1673279999}}}},{"script":{"script":{"file":"field_trend_report_filter","params":{"fuuid":"field005","start":1673280000,"t":1673366399}}}},{"script":{"script":{"file":"field_trend_report_filter","params":{"fuuid":"field005","start":1673366400,"t":1673452799}}}},{"script":{"script":{"file":"field_trend_report_filter","params":{"fuuid":"field005","start":1673452800,"t":1673539199}}}}]}}},"terms":{"field":"field_value_history.value","min_doc_count":1,"order":{"_term":"asc"},"size":0}}},"filter":{"bool":{"must":{"term":{"field_value_history.field_uuid":"field005"}}}}}},"nested":{"path":"field_value_history"}}},"query":{"bool":{"filter":[{"term":{"project_uuid":"7JAiRb5k2xerTPSt"}},{"bool":{"must":[{"bool":{"must":{"terms":{"project_uuid":["7JAiRb5k2xerTPSt"]}}}},{"bool":{"minimum_should_match":"1","should":{"bool":{"must":[{"terms":{"issue_type_uuid":["9fUM1sSW"]}},{"bool":{"must_not":{"terms":{"sub_issue_type_uuid":["G3PEYXYy","2SiXUETa"]}}}}]}}}}]}},{"term":{"team_uuid":"HWdP9bRK"}},{"terms":{"status":[1]}}]}},"size":0}

```

field\_trend\_report\_filter content is:

```auto
fuuid == doc["field_value_history.field_uuid"].value &&
t >= doc["field_value_history.valid_from"].value &&
t < doc["field_value_history.valid_to"].value

```

have about 100 requests per second

will occurs high CPU problem

es hot thread log

```auto
::: {elasticsearch-ha-statefulset-1}{i5_vmtlOQAWhNO6ZY9NTYQ}{172.27.186.146}{172.27.186.146:9300}{master=false}
   Hot threads at 2022-08-23T13:28:30.391Z, interval=500ms, busiestThreads=3, ignoreIdleThreads=true:
   
   100.3% (501.5ms out of 500ms) cpu usage by thread 'elasticsearch[elasticsearch-ha-statefulset-1][search][T#1]'
     10/10 snapshots sharing following 32 elements
       java.security.AccessController.doPrivileged(Native Method)
       org.elasticsearch.script.groovy.GroovyScriptEngineService$GroovyScript.run(GroovyScriptEngineService.java:278)
       org.elasticsearch.index.query.ScriptQueryParser$ScriptQuery$1$1.get(ScriptQueryParser.java:171)
       org.apache.lucene.search.RandomAccessWeight$1.matches(RandomAccessWeight.java:63)
       org.apache.lucene.search.Weight$DefaultBulkScorer.scoreAll(Weight.java:228)
       org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:172)
       org.apache.lucene.search.BulkScorer.score(BulkScorer.java:39)
       org.apache.lucene.search.LRUQueryCache.cacheImpl(LRUQueryCache.java:422)
       org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.cache(LRUQueryCache.java:608)
       org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.scorer(LRUQueryCache.java:625)
       org.elasticsearch.indices.cache.query.IndicesQueryCache$CachingWeightWrapper.scorer(IndicesQueryCache.java:263)
       org.elasticsearch.search.aggregations.bucket.filters.FiltersAggregator.getLeafCollector(FiltersAggregator.java:90)
       org.elasticsearch.search.aggregations.AggregatorBase.getLeafCollector(AggregatorBase.java:132)
       org.elasticsearch.search.aggregations.AggregatorBase.getLeafCollector(AggregatorBase.java:131)
       org.elasticsearch.search.aggregations.AggregatorBase.getLeafCollector(AggregatorBase.java:38)
       org.apache.lucene.search.MultiCollector.getLeafCollector(MultiCollector.java:121)
       org.apache.lucene.search.TimeLimitingCollector.getLeafCollector(TimeLimitingCollector.java:144)
       org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:812)
       org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:535)
       org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:384)
       org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:113)
       org.elasticsearch.search.SearchService.loadOrExecuteQueryPhase(SearchService.java:372)
       org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:385)
       org.elasticsearch.search.action.SearchServiceTransportAction$SearchQueryTransportHandler.messageReceived(SearchServiceTransportAction.java:368)
       org.elasticsearch.search.action.SearchServiceTransportAction$SearchQueryTransportHandler.messageReceived(SearchServiceTransportAction.java:365)
       org.elasticsearch.transport.TransportRequestHandler.messageReceived(TransportRequestHandler.java:33)
       org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:77)
       org.elasticsearch.transport.netty.MessageChannelHandler$RequestHandler.doRun(MessageChannelHandler.java:293)
       org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
       java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       java.lang.Thread.run(Thread.java:748)

```

maybe is groovy script lead to dead lock?  
if have any advice thank you very much indeed！

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [January 18, 2023, 11:27pm UTC](https://discuss.elastic.co/t/2-4-1-groovy-script-aggregation-make-high-cpu/323107/2 "2023-01-18T23:27:23Z")

</div>

2.4 is well past [EOL](https://www.elastic.co/support/eol) and no longer supported. You are not likely to get any assistance here with a version that old either sorry to say.

---

<div class="post-metadata">

**Author:** ![huasheng\_zeng](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/huasheng_zeng/32/70205_2.png) [@huasheng\_zeng](https://discuss.elastic.co/u/huasheng_zeng)\
**Post date:** [January 29, 2023, 4:04am UTC](https://discuss.elastic.co/t/2-4-1-groovy-script-aggregation-make-high-cpu/323107/3 "2023-01-29T04:04:25Z")

</div>

ok, thanks very much.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [February 26, 2023, 4:05am UTC](https://discuss.elastic.co/t/2-4-1-groovy-script-aggregation-make-high-cpu/323107/4 "2023-02-26T04:05:22Z")

</div>

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