Hi, I've got a few machines who post documents concurrently to a solr instance. They do not issue the commit themselves, instead, I've got autocommit set up at solr server side: <autoCommit> <maxDocs>50000</maxDocs> <!-- commit at least every 50000 docs --> <maxTime>60000</maxTime> <!-- Stays max 60s without commit --> </autoCommit>
This usually works fine, but sometime the server goes in a deadlock state . Here's the errors I get from the log (these go on forever until I delete the index and restart all from zero): 02-Nov-2009 10:35:27 org.apache.solr.update.SolrIndexWriter finalize SEVERE: SolrIndexWriter was not closed prior to finalize(), indicates a bug -- POSSIBLE RESOURCE LEAK!!! ... [ multiple messages like this ] ... 02-Nov-2009 10:35:27 org.apache.solr.common.SolrException log SEVERE: org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/home/solrdata/jobs/index/lucene-703db99881e56205cb910a2e5fd816d3-write.lock at org.apache.lucene.store.Lock.obtain(Lock.java:85) at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1538) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1395) at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:190) at org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:98) at org.apache.solr.update.DirectUpdateHandler2.openWriter(DirectUpdateHandler2.java:173) at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:220) at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61) at org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:139) at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69) at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316) I'm wondering what could be the reason for this (if a commit takes mire than 60 seconds for instance?), and if I should use better locking or autocommittting options? Here's the locking conf I've got at the moment: <writeLockTimeout>1000</writeLockTimeout> <commitLockTimeout>10000</commitLockTimeout> <lockType>native</lockType> I'm using solr trunk from 12 oct 2009 within tomcat. Thanks for any help. Jerome. -- Jerome Eteve. http://www.eteve.net jer...@eteve.net