[ https://issues.apache.org/jira/browse/SOLR-17280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17844413#comment-17844413 ]
Chris M. Hostetter commented on SOLR-17280: ------------------------------------------- My main question would be: WTF does SolrRangeQuery explicitly inject itself in the cache?!?!?! (Is it even putting the *_correct_* answer in the cache? ... or just a part of the answer for single segment answer that it then replaces on the next segment, etc...) > SolrRangeQuery can trigger "IllegalStateException: Recursive update" in > CaffeineCache / ConcurrentHashMap > --------------------------------------------------------------------------------------------------------- > > Key: SOLR-17280 > URL: https://issues.apache.org/jira/browse/SOLR-17280 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Reporter: Chris M. Hostetter > Priority: Major > > Sample stacktrace... > {noformat} > 2> => java.lang.IllegalStateException: Recursive update > 2> at > java.base/java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1063) > 2> java.lang.IllegalStateException: Recursive update > 2> at > java.base/java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1063) > ~[?:?] > 2> at > java.base/java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1541) > ~[?:?] > 2> at > com.github.benmanes.caffeine.cache.BoundedLocalCache.put(BoundedLocalCache.java:2312) > ~[caffeine-3.1.8.jar:3.1.8] > 2> at > com.github.benmanes.caffeine.cache.BoundedLocalCache.put(BoundedLocalCache.java:2278) > ~[caffeine-3.1.8.jar:3.1.8] > 2> at org.apache.solr.search.CaffeineCache.put(CaffeineCache.java:277) > ~[main/:?] > 2> at > org.apache.solr.query.SolrRangeQuery$ConstWeight.getSegState(SolrRangeQuery.java:482) > ~[main/:?] > 2> at > org.apache.solr.query.SolrRangeQuery$ConstWeight.scorer(SolrRangeQuery.java:552) > ~[main/:?] > 2> at org.apache.lucene.search.Weight.scorerSupplier(Weight.java:135) > ~[lucene-core-9.10.0.jar:9.10.0 695c0ac84508438302cd346a812cfa2fdc5a10df - > 2024-02-14 16:48:06] > 2> at > org.apache.lucene.search.BooleanWeight.requiredBulkScorer(BooleanWeight.java:289) > ~[lucene-core-9.10.0.jar:9.10.0 695c0ac84508438302cd346a812cfa2fdc5a10df - > 2024-02-14 16:48:06] > 2> at > org.apache.lucene.search.BooleanWeight.booleanScorer(BooleanWeight.java:402) > ~[lucene-core-9.10.0.jar:9.10.0 695c0ac84508438302cd346a812cfa2fdc5a10df - > 2024-02-14 16:48:06] > 2> at > org.apache.lucene.search.BooleanWeight.bulkScorer(BooleanWeight.java:443) > ~[lucene-core-9.10.0.jar:9.10.0 695c0ac84508438302cd346a812cfa2fdc5a10df - > 2024-02-14 16:48:06] > 2> at > org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:737) > ~[lucene-core-9.10.0.jar:9.10.0 695c0ac84508438302cd346a812cfa2fdc5a10df - > 2024-02-14 16:48:06] > 2> at > org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:720) > ~[main/:?] > 2> at > org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:552) > ~[lucene-core-9.10.0.jar:9.10.0 695c0ac84508438302cd346a812cfa2fdc5a10df - > 2024-02-14 16:48:06] > 2> at > org.apache.solr.search.DocSetUtil.createDocSetGeneric(DocSetUtil.java:154) > ~[main/:?] > 2> at > org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:141) ~[main/:?] > 2> at > org.apache.solr.search.SolrIndexSearcher.getDocSetNC(SolrIndexSearcher.java:1387) > ~[main/:?] > 2> at > org.apache.solr.search.SolrIndexSearcher.lambda$getAndCacheDocSet$1(SolrIndexSearcher.java:991) > ~[main/:?] > 2> at > org.apache.solr.search.CaffeineCache.lambda$computeIfAbsent$1(CaffeineCache.java:258) > ~[main/:?] > 2> at > com.github.benmanes.caffeine.cache.LocalCache.lambda$statsAware$2(LocalCache.java:167) > ~[caffeine-3.1.8.jar:3.1.8] > 2> at > com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2688) > ~[caffeine-3.1.8.jar:3.1.8] > 2> at > java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) > ~[?:?] > 2> at > com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2686) > ~[caffeine-3.1.8.jar:3.1.8] > 2> at > com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2669) > ~[caffeine-3.1.8.jar:3.1.8] > 2> at > com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112) > ~[caffeine-3.1.8.jar:3.1.8] > 2> at > com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62) > ~[caffeine-3.1.8.jar:3.1.8] > 2> at > org.apache.solr.search.CaffeineCache.computeIfAbsent(CaffeineCache.java:253) > ~[main/:?] > 2> at > org.apache.solr.search.SolrIndexSearcher.getAndCacheDocSet(SolrIndexSearcher.java:991) > ~[main/:?] > 2> at > org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:946) > ~[main/:?] > 2> at > org.apache.solr.search.SolrIndexSearcher.numDocs(SolrIndexSearcher.java:2367) > ~[main/:?] > 2> at > org.apache.solr.request.SimpleFacets.getFacetQueryCount(SimpleFacets.java:320) > ~[main/:?] > 2> at > org.apache.solr.request.SimpleFacets.getFacetQueryCounts(SimpleFacets.java:302) > ~[main/:?] > 2> at > org.apache.solr.handler.component.FacetComponent.getFacetCounts(FacetComponent.java:331) > ~[main/:?] > 2> at > org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:279) > ~[main/:?] > 2> at > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:466) > ~[main/:?] > 2> at > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:238) > ~[main/:?] > 2> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2886) > ~[main/:?] > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org