Solr4云测试版异常org.apache.lucene.store.AlreadyClosedException:此IndexWriter已关闭
我最近从Solr3.6升级到Solr4测试版。我在尝试一次又一次地更新和提交同一记录时遇到以下异常。有人能帮忙解决这个问题吗Solr4云测试版异常org.apache.lucene.store.AlreadyClosedException:此IndexWriter已关闭,solr,solrcloud,Solr,Solrcloud,我最近从Solr3.6升级到Solr4测试版。我在尝试一次又一次地更新和提交同一记录时遇到以下异常。有人能帮忙解决这个问题吗 SEVERE: org.apache.solr.common.SolrException: Error opening new searcher at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1267) at org.apache.solr.core.SolrCore.getS
SEVERE: org.apache.solr.common.SolrException: Error opening new searcher
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1267)
at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1379)
at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1157)
at org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:560)
at org.apache.solr.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcessorFactory.java:87)
at org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:64)
at org.apache.solr.update.processor.DistributedUpdateProcessor.processCommit(DistributedUpdateProcessor.java:959)
at org.apache.solr.update.processor.LogUpdateProcessor.processCommit(LogUpdateProcessorFactory.java:157)
at org.apache.solr.handler.RequestHandlerUtils.handleCommit(RequestHandlerUtils.java:69)
at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1656)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:454)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:275)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:219)
at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:333)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1812)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.lucene.store.AlreadyClosedException: this IndexWriter is closed
at org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:553)
at org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:558)
at org.apache.lucene.index.IndexWriter.nrtIsCurrent(IndexWriter.java:4061)
at org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:261)
at org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:240)
at org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:230)
at org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:166)
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1213)
... 30 more
在SolrConfig.xml的query部分中,增加MaxWarmingSearchs的数量,并将useColdSearcher设置为true。你可以在这里找到更多信息。
真的
6.
参加SolrCloud训练营并听取Solr团队的意见后更新
- 如果您增加搜索者的数量,这将有助于减少上述异常,但对搜索没有帮助
- Faceting、Grouping、Function查询等搜索使用Max-Warming搜索器,因此如果您看到上述异常,他们建议减少提交次数。增加MaxWarmingSearcher对您没有任何帮助
- 他们建议每秒钟提交一次。如果您计划每秒执行100次提交,并且希望看到实时更新,可以通过关闭maxWarmingSearchers来实现。但是,如果您关闭此功能,像刻面和分组这样的查询将花费更多的时间
<query>
<useColdSearcher>true</useColdSearcher>
<maxWarmingSearchers>6</maxWarmingSearchers>
</query>