[
https://issues.apache.org/jira/browse/SOLR-15555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17390794#comment-17390794
]
Mike Drob commented on SOLR-15555:
----------------------------------
Another interesting failure from the work in progress...
{noformat}
2> WARNING: Exception thrown during asynchronous load
2> java.util.concurrent.CompletionException: java.lang.AssertionError: Terms
enums are only supposed to be consumed in the thread in which they have been
acquired. But was acquired in
Thread[TEST-TestJoin.testRandomJoin-seed#[87CF0AC6A1EA044],5,TGRP-TestJoin] and
consumed in Thread[AsyncCachePool-19-thread-2,5,TGRP-TestJoin].
2> at
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
2> at
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
2> at
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1702)
2> at
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:235)
2> at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
2> at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
2> at java.base/java.lang.Thread.run(Thread.java:829)
2> Caused by: java.lang.AssertionError: Terms enums are only supposed to be
consumed in the thread in which they have been acquired. But was acquired in
Thread[TEST-TestJoin.testRandomJoin-seed#[87CF0AC6A1EA044],5,TGRP-TestJoin] and
consumed in Thread[AsyncCachePool-19-thread-2,5,TGRP-TestJoin].
2> at
__randomizedtesting.SeedInfo.seed([87CF0AC6A1EA044:71F63C1878390EA4]:0)
2> at
org.apache.lucene.index.AssertingLeafReader.assertThread(AssertingLeafReader.java:43)
2> at
org.apache.lucene.index.AssertingLeafReader$AssertingTermsEnum.postings(AssertingLeafReader.java:204)
2> at
org.apache.lucene.index.MultiTermsEnum.postings(MultiTermsEnum.java:365)
2> at
org.apache.solr.search.SolrIndexSearcher.getResult(SolrIndexSearcher.java:1119)
2> at
org.apache.solr.search.SolrIndexSearcher.lambda$getDocSet$2(SolrIndexSearcher.java:1103)
2> at
org.apache.solr.search.CaffeineCache.lambda$computeIfAbsent$1(CaffeineCache.java:244)
2> at
com.github.benmanes.caffeine.cache.LocalAsyncCache.lambda$get$0(LocalAsyncCache.java:77)
2> at
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
2> ... 4 more
{noformat}
> Use filterCache.computeIfAbsent in SolrIndexSearcher
> ----------------------------------------------------
>
> Key: SOLR-15555
> URL: https://issues.apache.org/jira/browse/SOLR-15555
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Mike Drob
> Priority: Major
> Time Spent: 2h
> Remaining Estimate: 0h
>
> When multiple concurrent queries come in at the same time, in several cases
> they can trigger concurrent computations of a DocSet for the cache. We should
> investigate where this happens and possibly take care to only do a single
> computation when possible.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]