Hello all,I'm running Solr 1.3 in a multi-core environment. There are up to 2000 active cores in each Solr webapp instance at any given time.
I've noticed occasional errors such as: SEVERE: java.lang.RuntimeException: after flush: fdx size mismatch: 1 docs vs 0 length in bytes of _h.fdx at org.apache.lucene.index.StoredFieldsWriter.closeDocStore(StoredFieldsWriter.java:94) at org.apache.lucene.index.DocFieldConsumers.closeDocStore(DocFieldConsumers.java:83) at org.apache.lucene.index.DocFieldProcessor.closeDocStore(DocFieldProcessor.java:47) at org.apache.lucene.index.DocumentsWriter.closeDocStore(DocumentsWriter.java:367) at org.apache.lucene.index.DocumentsWriter.flush(DocumentsWriter.java:567) at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3540) at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3450) at org.apache.lucene.index.IndexWriter.closeInternal(IndexWriter.java:1638) at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1602) at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1578) at org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:153) during commit / optimise operations. These errors then cause cascading errors during updates on the offending cores: SEVERE: org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: SingleInstanceLock: write.lock at org.apache.lucene.store.Lock.obtain(Lock.java:85) at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1070) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:924) at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:116) at org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:122) This looks like http://issues.apache.org/jira/browse/LUCENE-1521, but when I upgraded Lucene to 2.4.1 under Solr 1.3, the issue still remains. CheckIndex doesn't find any problems with the index, and problems disappear after an (inconvenient, for me) restart of Solr. Firstly, can I as the symptoms are so close to those in 1521, can I check my Lucene upgrade method should work: - unzip the Solr 1.3 war - remove the Lucene 2.4dev jars (lucene-core, lucene-spellchecker, lucene-snowball, lucene-queries, lucene-memory,lucene-highlighter, lucene-analyzers) - move in the Lucene 2.4.1 jars - rezip the directory structures as solr.war. I think this has worked, as solr/default/admin/registry.jsp shows: <lucene-spec-version>2.4.1</lucene-spec-version> <lucene-impl-version>2.4.1 750176 - 2009-03-04 21:56:52</lucene-impl-version> Secondly, if this Lucene fix isn't the right solution to this problem, can anyone suggest an alternative approach? The only problems I've had up to now is to do with the number of allowed file handles, which was fixed by changing limits.conf (RHEL machine). Many thanks! James