This is relaly odd. Just to clarify... 1) you are running a normal solr installation (in a servlet container) and using SolrJ to send updates to Solr from another application, correct? 2) Do you have any special custom plugins running 3) do you have any other apps that might be attempting to access the index directly? 4) what OS are you using? ... what type of filesystem? (local disk or some shared network drive) 5) are these errors appearing after Solr crashes and you restart it? 6) what version of Solr are you using?
No matter how many worker threads you have, there should only be one IndexWriter using the index/lockfile from Solr ... so this error should really never happen in normal usage. : Jul 10, 2009 4:01:55 AM org.apache.solr.common.SolrException log : SEVERE: org.apache.lucene.store.LockObtainFailedException: Lock obtain timed : out: SimpleFSLock@ : /projects/msim/indexdata/data/index/lucene-0614ba206dd0e0871ca4eecf8f2e853a-write.lock : at org.apache.lucene.store.Lock.obtain(Lock.java:85) : at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1140) : at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:938) : at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:116) : at : org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:122) : at : org.apache.solr.update.DirectUpdateHandler2.openWriter(DirectUpdateHandler2.java:167) : at : org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:221) : at : org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:59) : at : org.apache.solr.handler.XmlUpdateRequestHandler.processUpdate(XmlUpdateRequestHandler.java:196) : at : org.apache.solr.handler.XmlUpdateRequestHandler.handleRequestBody(XmlUpdateRequestHandler.java:123) : at : org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) : at org.apache.solr.core.SolrCore.execute(SolrCore.java:1204) : at : org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303) : at : org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232) : at : org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) : at : org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) : at : org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) : at : org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) : at : org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) : at : org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) : at : org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) : at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:542) : at : org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) : at : org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) : at : org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) : at : org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) : at : org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) : at : org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) : at java.lang.Thread.run(Thread.java:619) -Hoss