我正在索引我的内容,并在将我的Solr实例升级到solr 4之后,我正面临着一些OutOfMemories.抛出的异常是:
INFO org.apache.solr.update.UpdateHandler - start commit{flags=0,_version_=0,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false}
ERROR o.a.solr.servlet.SolrDispatchFilter - null:java.lang.RuntimeException: java.lang.OutOfMemoryError: Java heap space
at org.apache.solr.servlet.SolrDispatchFilter.sendError(SolrDispatchFilter.java:469)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:297)
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:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
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: java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)
是否有一些已知的错误或我可以测试的东西摆脱它?
在此升级中,有两件事发生了变
3.4到4.0;LUCENE_34到LUCENE_40).访问日志时,一目了然,似乎内存不足.当然,这可能不是特别有意义,因为"内存不足"错误,但值得一试,尤其是在看到有关SOLR 4.0日志记录的投诉之后.特别是如果在某种形式的索引重建或更新的重载期间发生这种情况.
所以尝试禁用更新日志,我相信可以通过注释来完成:
<updateLog>
<str name="dir">${solr.data.dir:}</str>
</updateLog>
Run Code Online (Sandbox Code Playgroud)
在solrconfig.xml中.
编辑:
另一个(可能更好)的方法,再看一眼,可能是更经常地承诺.更新日志的增长似乎与等待提交的大量排队更新直接相关.
如果您没有启用自动提交,您可能想尝试在配置中添加它,例如:
<autoCommit>
<maxTime>15000</maxTime>
<openSearcher>false</openSearcher>
</autoCommit>
Run Code Online (Sandbox Code Playgroud)
在这个帖子上可以找到很多相关的讨论和建议.
| 归档时间: |
|
| 查看次数: |
3760 次 |
| 最近记录: |