Hi,My indices sometime become corrupted - normally when Solr has to be KILLed - these are not normally too much of a problem, as Lucene's CheckIndex tool can normally detect missing / broken segments and fix them.
However, I now have a few indices throwing errors like this: INFO: [core4] webapp=/solr path=/update params={} status=0 QTime=2 Exception in thread "Thread-75" org.apache.lucene.index.MergePolicy$MergeException: org.apache.lucene.index.CorruptIndexException: docs out of order (1124 <= 1138 ) at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:271) Caused by: org.apache.lucene.index.CorruptIndexException: docs out of order (1124 <= 1138 ) at org.apache.lucene.index.SegmentMerger.appendPostings(SegmentMerger.java:502) at org.apache.lucene.index.SegmentMerger.mergeTermInfo(SegmentMerger.java:456) at org.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java:425) at org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:389) at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:134) at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3109) at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:2834) at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:240) and INFO: [core7] webapp=/solr path=/update params={} status=500 QTime=5457 Feb 22, 2009 12:14:07 PM org.apache.solr.common.SolrException log SEVERE: org.apache.lucene.index.CorruptIndexException: docs out of order (242 <= 248 ) at org.apache.lucene.index.SegmentMerger.appendPostings(SegmentMerger.java:502) at org.apache.lucene.index.SegmentMerger.mergeTermInfo(SegmentMerger.java:456) at org.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java:425) at org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:389) at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:134) at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3109) at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:2834) at org.apache.lucene.index.ConcurrentMergeScheduler.merge(ConcurrentMergeScheduler.java:193) at org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:1800) at org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:1795) at org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:1791) at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:2398) at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1465) at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1424) at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:278) CheckIndex reports these cores as being completely healthy, and yet I can't commit new documents in to them. Rebuilding indices isn't an option for me: is there any other way to fix this? If not, any ideas on what I can do to prevent it in the future? Many thanks, James