[jira] [Commented] (SOLR-8347) Asynchronous searcher for custom component
[ 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (SOLR-8347) Asynchronous searcher for custom component
[ https://issues.apache.org/jira/browse/SOLR-8347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15037809#comment-15037809 ] Upayavira commented on SOLR-8347: - [~bogandy] I'd suggest you ask this question on the Solr user list. This does not strike me, at present, as a bug in Solr. It most certainly isn't a blocker for the project. If, after discussion on the Solr user list, you find an enhancement to Solr that would help, or find a specific bug, that would be the time to open a ticket here. > 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: Blocker > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org