Patrick: I have never seen this, but this means the openjdk on FreeBSD
doesn't support cpu sampling of threads. Not sure, but maybe you can try
with an Oracle jdk/jre? Otherwise jstack should be used on order to figure
out on what threads of ES get stuck on.

Hieu: This doesn't look like the issue that is fixed, since the threads are
in mvel (scripting) code and not in scan/scroll code. 0.90.12 is an old
version and I would recommend to upgrade. Also mvel is deprecated and will
only be available via a plugin:
https://github.com/elasticsearch/elasticsearch/pull/6571 and
https://github.com/elasticsearch/elasticsearch/pull/6610


On 6 September 2014 16:12, Hieu Nguyen <h...@quora.com> wrote:

> We have seen a similar issue in our cluster (CPU usage and search time
> suddenly went up slowly for the master node over a period of one day, until
> we restarted). Is there a easy way to confirm that it's indeed the same
> issue mentioned here?
>
> Below is the output of our hot threads on this node (version 0.90.12):
>
>    85.8% (857.7ms out of 1s) cpu usage by thread
> 'elasticsearch[cluster1][search][T#3]'
>      8/10 snapshots sharing following 30 elements
>        java.lang.ThreadLocal$ThreadLocalMap.set(ThreadLocal.java:429)
>
>  java.lang.ThreadLocal$ThreadLocalMap.access$100(ThreadLocal.java:261)
>        java.lang.ThreadLocal.set(ThreadLocal.java:183)
>
>  
> org.elasticsearch.common.mvel2.optimizers.OptimizerFactory.clearThreadAccessorOptimizer(OptimizerFactory.java:114)
>
>  org.elasticsearch.common.mvel2.MVELRuntime.execute(MVELRuntime.java:169)
>
>  
> org.elasticsearch.common.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
>
>  
> org.elasticsearch.common.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
>
>  
> org.elasticsearch.script.mvel.MvelScriptEngineService$MvelSearchScript.run(MvelScriptEngineService.java:191)
>
>  
> org.elasticsearch.script.mvel.MvelScriptEngineService$MvelSearchScript.runAsDouble(MvelScriptEngineService.java:206)
>
>  
> org.elasticsearch.common.lucene.search.function.ScriptScoreFunction.score(ScriptScoreFunction.java:54)
>
>  
> org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$CustomBoostFactorScorer.score(FunctionScoreQuery.java:175)
>
>  
> org.apache.lucene.search.TopScoreDocCollector$OutOfOrderTopScoreDocCollector.collect(TopScoreDocCollector.java:140)
>
>  
> org.apache.lucene.search.TimeLimitingCollector.collect(TimeLimitingCollector.java:153)
>        org.apache.lucene.search.Scorer.score(Scorer.java:65)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:621)
>
>  
> org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:162)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:491)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:448)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:281)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:269)
>
>  org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:117)
>
>  
> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:244)
>
>  
> org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:202)
>
>  
> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryThenFetchAction.java:80)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:216)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:203)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2.run(TransportSearchTypeAction.java:186)
>
>  
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>  
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>        java.lang.Thread.run(Thread.java:744)
>      2/10 snapshots sharing following 20 elements
>
>  org.apache.lucene.search.FilteredDocIdSet$1.get(FilteredDocIdSet.java:65)
>
>  
> org.apache.lucene.search.FilteredQuery$QueryFirstScorer.nextDoc(FilteredQuery.java:178)
>
>  
> org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$CustomBoostFactorScorer.nextDoc(FunctionScoreQuery.java:169)
>        org.apache.lucene.search.Scorer.score(Scorer.java:64)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:621)
>
>  
> org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:162)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:491)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:448)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:281)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:269)
>
>  org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:117)
>
>  
> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:244)
>
>  
> org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:202)
>
>  
> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryThenFetchAction.java:80)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:216)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:203)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2.run(TransportSearchTypeAction.java:186)
>
>  
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>  
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>        java.lang.Thread.run(Thread.java:744)
>
>    83.3% (832.6ms out of 1s) cpu usage by thread
> 'elasticsearch[cluster1][search][T#49]'
>      9/10 snapshots sharing following 30 elements
>        java.lang.ThreadLocal$ThreadLocalMap.set(ThreadLocal.java:429)
>
>  java.lang.ThreadLocal$ThreadLocalMap.access$100(ThreadLocal.java:261)
>        java.lang.ThreadLocal.set(ThreadLocal.java:183)
>
>  
> org.elasticsearch.common.mvel2.optimizers.OptimizerFactory.clearThreadAccessorOptimizer(OptimizerFactory.java:114)
>
>  org.elasticsearch.common.mvel2.MVELRuntime.execute(MVELRuntime.java:169)
>
>  
> org.elasticsearch.common.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
>
>  
> org.elasticsearch.common.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
>
>  
> org.elasticsearch.script.mvel.MvelScriptEngineService$MvelSearchScript.run(MvelScriptEngineService.java:191)
>
>  
> org.elasticsearch.script.mvel.MvelScriptEngineService$MvelSearchScript.runAsDouble(MvelScriptEngineService.java:206)
>
>  
> org.elasticsearch.common.lucene.search.function.ScriptScoreFunction.score(ScriptScoreFunction.java:54)
>
>  
> org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$CustomBoostFactorScorer.score(FunctionScoreQuery.java:175)
>
>  
> org.apache.lucene.search.TopScoreDocCollector$OutOfOrderTopScoreDocCollector.collect(TopScoreDocCollector.java:140)
>
>  
> org.apache.lucene.search.TimeLimitingCollector.collect(TimeLimitingCollector.java:153)
>        org.apache.lucene.search.Scorer.score(Scorer.java:65)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:621)
>
>  
> org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:162)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:491)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:448)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:281)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:269)
>
>  org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:117)
>
>  
> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:244)
>
>  
> org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:202)
>
>  
> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryThenFetchAction.java:80)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:216)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:203)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2.run(TransportSearchTypeAction.java:186)
>
>  
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>  
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>        java.lang.Thread.run(Thread.java:744)
>      unique snapshot
>
>  
> org.apache.lucene.search.DisjunctionMaxScorer.afterNext(DisjunctionMaxScorer.java:65)
>
>  
> org.apache.lucene.search.DisjunctionScorer.nextDoc(DisjunctionScorer.java:139)
>
>  
> org.apache.lucene.search.DisjunctionScorer.nextDoc(DisjunctionScorer.java:130)
>
>  
> org.apache.lucene.search.FilteredQuery$QueryFirstScorer.nextDoc(FilteredQuery.java:177)
>
>  
> org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$CustomBoostFactorScorer.nextDoc(FunctionScoreQuery.java:169)
>        org.apache.lucene.search.Scorer.score(Scorer.java:64)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:621)
>
>  
> org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:162)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:491)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:448)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:281)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:269)
>
>  org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:117)
>
>  
> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:244)
>
>  
> org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:202)
>
>  
> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryThenFetchAction.java:80)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:216)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:203)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2.run(TransportSearchTypeAction.java:186)
>
>  
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>  
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>        java.lang.Thread.run(Thread.java:744)
>
>    80.2% (802.2ms out of 1s) cpu usage by thread
> 'elasticsearch[cluster1][search][T#41]'
>      8/10 snapshots sharing following 30 elements
>        java.lang.ThreadLocal$ThreadLocalMap.set(ThreadLocal.java:429)
>
>  java.lang.ThreadLocal$ThreadLocalMap.access$100(ThreadLocal.java:261)
>        java.lang.ThreadLocal.set(ThreadLocal.java:183)
>
>  
> org.elasticsearch.common.mvel2.optimizers.OptimizerFactory.clearThreadAccessorOptimizer(OptimizerFactory.java:114)
>
>  org.elasticsearch.common.mvel2.MVELRuntime.execute(MVELRuntime.java:169)
>
>  
> org.elasticsearch.common.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
>
>  
> org.elasticsearch.common.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
>
>  
> org.elasticsearch.script.mvel.MvelScriptEngineService$MvelSearchScript.run(MvelScriptEngineService.java:191)
>
>  
> org.elasticsearch.script.mvel.MvelScriptEngineService$MvelSearchScript.runAsDouble(MvelScriptEngineService.java:206)
>
>  
> org.elasticsearch.common.lucene.search.function.ScriptScoreFunction.score(ScriptScoreFunction.java:54)
>
>  
> org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$CustomBoostFactorScorer.score(FunctionScoreQuery.java:175)
>
>  
> org.apache.lucene.search.TopScoreDocCollector$OutOfOrderTopScoreDocCollector.collect(TopScoreDocCollector.java:140)
>
>  
> org.apache.lucene.search.TimeLimitingCollector.collect(TimeLimitingCollector.java:153)
>        org.apache.lucene.search.Scorer.score(Scorer.java:65)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:621)
>
>  
> org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:162)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:491)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:448)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:281)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:269)
>
>  org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:117)
>
>  
> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:244)
>
>  
> org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:202)
>
>  
> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryThenFetchAction.java:80)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:216)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:203)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2.run(TransportSearchTypeAction.java:186)
>
>  
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>  
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>        java.lang.Thread.run(Thread.java:744)
>      2/10 snapshots sharing following 20 elements
>
>  
> org.elasticsearch.common.lucene.search.function.FunctionScoreQuery$CustomBoostFactorScorer.score(FunctionScoreQuery.java:175)
>
>  
> org.apache.lucene.search.TopScoreDocCollector$OutOfOrderTopScoreDocCollector.collect(TopScoreDocCollector.java:140)
>
>  
> org.apache.lucene.search.TimeLimitingCollector.collect(TimeLimitingCollector.java:153)
>        org.apache.lucene.search.Scorer.score(Scorer.java:65)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:621)
>
>  
> org.elasticsearch.search.internal.ContextIndexSearcher.search(ContextIndexSearcher.java:162)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:491)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:448)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:281)
>
>  org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:269)
>
>  org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:117)
>
>  
> org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:244)
>
>  
> org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:202)
>
>  
> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryThenFetchAction.java:80)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:216)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:203)
>
>  
> org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2.run(TransportSearchTypeAction.java:186)
>
>  
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>  
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>        java.lang.Thread.run(Thread.java:744)
>
>
>
> On Thursday, August 28, 2014 11:49:07 PM UTC-7, Martin Forssen wrote:
>>
>> FYI, this turned out to be a real bug. A fix has been committed and will
>> be included in the next release.There
>>
>> On Wednesday, August 27, 2014 11:36:03 AM UTC+2, Martin Forssen wrote:
>>>
>>> I did report it https://github.com/elasticsearch/elasticsearch/
>>> issues/7478
>>>
>>>  --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elasticsearch+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/8c847c08-3850-4821-aedd-04259d0990a2%40googlegroups.com
> <https://groups.google.com/d/msgid/elasticsearch/8c847c08-3850-4821-aedd-04259d0990a2%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Met vriendelijke groet,

Martijn van Groningen

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CA%2BA76Tw1FRkGWCqh1RDxHQdX10Yh%3DoZbU17nxGyoacMPviDCdg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to