【问题标题】:Solr - OverlappingFileLockException when concurrent commitsSolr - 并发提交时出现 OverlappingFileLockException
【发布时间】:2011-05-05 14:03:06
【问题描述】:
我将 solr 版本 1.4.0 与 tomcat 6 一起使用。我有 2 个 solr 实例作为 2 个不同的 Web 应用程序运行,具有单独的数据文件夹。我的应用程序需要来自多个客户端的频繁提交。我注意到当多个客户端尝试同时提交时,这些 OverlappingFileLockException 开始出现。有什么办法可以纠正这个问题吗?请在下面找到错误日志。谢谢
HTTP 状态 500 - 空
java.nio.channels.OverlappingFileLockException
在 sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileChannelImpl.java:1215)
在 sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelImpl.java:1117)
在 sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:923)
在 java.nio.channels.FileChannel.tryLock(FileChannel.java:978)
在 org.apache.lucene.store.NativeFSLock.obtain(NativeFSLockFactory.java:233)
在 org.apache.lucene.store.Lock.obtain(Lock.java:73)
在 org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1550)
在 org.apache.lucene.index.IndexWriter.(IndexWriter.java:1407)
在 org.apache.solr.update.SolrIndexWriter.(SolrIndexWriter.java:190)
在 org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:98)
在 org.apache.solr.update.DirectUpdateHandler2.openWriter(DirectUpdateHandler2.java:173)
在 org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:220)
在 org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61)
在 org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:139)
在 org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69)
在 org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54)
在 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
在 org.apache.solr.core.SolrCore.execute(SolrCore.java:1317)
在 org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
在 java.lang.Thread.run(Thread.java:636)
类型状态报告
消息空
java.nio.channels.OverlappingFileLockException
在 sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileChannelImpl.java:1215)
在 sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelImpl.java:1117)
在 sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:923)
在 java.nio.channels.FileChannel.tryLock(FileChannel.java:978)
在 org.apache.lucene.store.NativeFSLock.obtain(NativeFSLockFactory.java:233)
在 org.apache.lucene.store.Lock.obtain(Lock.java:73)
在 org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1550)
在 org.apache.lucene.index.IndexWriter.(IndexWriter.java:1407)
在 org.apache.solr.update.SolrIndexWriter.(SolrIndexWriter.java:190)
在 org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:98)
在 org.apache.solr.update.DirectUpdateHandler2.openWriter(DirectUpdateHandler2.java:173)
在 org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:220)
在 org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61)
在 org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:139)
在 org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69)
在 org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54)
在 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
在 org.apache.solr.core.SolrCore.execute(SolrCore.java:1317)
在 org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
在 java.lang.Thread.run(Thread.java:636)
说明服务器遇到内部错误(null
java.nio.channels.OverlappingFileLockException
在 sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList(FileChannelImpl.java:1215)
在 sun.nio.ch.FileChannelImpl$SharedFileLockTable.add(FileChannelImpl.java:1117)
在 sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:923)
在 java.nio.channels.FileChannel.tryLock(FileChannel.java:978)
在 org.apache.lucene.store.NativeFSLock.obtain(NativeFSLockFactory.java:233)
在 org.apache.lucene.store.Lock.obtain(Lock.java:73)
在 org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1550)
在 org.apache.lucene.index.IndexWriter.(IndexWriter.java:1407)
在 org.apache.solr.update.SolrIndexWriter.(SolrIndexWriter.java:190)
在 org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:98)
在 org.apache.solr.update.DirectUpdateHandler2.openWriter(DirectUpdateHandler2.java:173)
在 org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:220)
在 org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61)
在 org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:139)
在 org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69)
在 org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54)
在 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
在 org.apache.solr.core.SolrCore.execute(SolrCore.java:1317)
在 org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
在 java.lang.Thread.run(Thread.java:636)
) 导致它无法满足此请求。
【问题讨论】:
标签:
java
indexing
lucene
full-text-search
solr