[
https://issues.apache.org/jira/browse/SOLR-8347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15037840#comment-15037840
]
Bogdan Marinescu commented on SOLR-8347:
----------------------------------------
I made it a blocker because nobody was answering. It's not a blocker but it is
I believe an issue because if I want to do some asynchronous work in a custom
component I cannot access the SolrIndexSearcher anymore.. mainly because after
the solr call is over someone/something closes the searcher (probably due to a
commit). I was wondering if what I was trying to do was possible (to lock the
searcher somehow until my component releases it) but I'll take your advice and
ask in the solr user list
> Asynchronous searcher for custom component
> ------------------------------------------
>
> Key: SOLR-8347
> URL: https://issues.apache.org/jira/browse/SOLR-8347
> Project: Solr
> Issue Type: Bug
> Components: SearchComponents - other
> Reporter: Bogdan Marinescu
> Priority: Critical
>
> I'm trying to write a custom component for fuzzy searches.
> After solr calls my component, I create a Thread and give it the
> SolrIndexSearcher and some params.
> Problem is after a few seconds I get an Exception that the indexreader was
> closed
> {code}
> org.apache.lucene.store.AlreadyClosedException: this IndexReader cannot be
> used anymore as one of its child readers was closed
> at
> org.apache.lucene.index.IndexReader.ensureOpen(IndexReader.java:279)
> at
> org.apache.lucene.index.FilterLeafReader.getLiveDocs(FilterLeafReader.java:374)
> at
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:768)
> at
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:485)
> at
> org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:202)
> at
> org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1666)
> at
> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1485)
> at
> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:561)
> at
> org.apache.solr.search.SolrIndexSearcher.getDocList(SolrIndexSearcher.java:1350)
> at
> awinta.mdm.solr.components.FuzzyLikeThisComponent$FLTHelper.getLikeThis(FuzzyLikeThisComponent.java:336)
> at
> awinta.mdm.solr.components.FLTWorker.getLikeThese(FLTWorker.java:161)
> at awinta.mdm.solr.components.FLTWorker.call(FLTWorker.java:94)
> at awinta.mdm.solr.components.FLTWorker.call(FLTWorker.java:35)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> Is there a way of locking the IndexReader so it doesn't get closed by other
> threads?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]