Thanks for your answers Michael! I was using a pre-1.3 Solr build, but I've
now upgraded to the 1.3 release, run the new CheckIndex shipped as part of
the Lucene 2.4 dev build and I'm still getting the CorruptIndexException:
docs out of order exceptions I'm afraid.

Upon a fresh start, on newly Checked indices, I actually get a lot of
Exceptions like:

SEVERE: java.lang.RuntimeException: [was class
org.mortbay.jetty.EofException] null
        at
com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(ExceptionUtil.java:18)
        at
com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:731)
        at
com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3657)
        at
com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:809)
        at
org.apache.solr.handler.XmlUpdateRequestHandler.readDoc(XmlUpdateRequestHandler.java:327)
        at
org.apache.solr.handler.XmlUpdateRequestHandler.processUpdate(XmlUpdateRequestHandler.java:195)
        at
org.apache.solr.handler.XmlUpdateRequestHandler.handleRequestBody(XmlUpdateRequestHandler.java:123)

Before any CorruptIndexExceptions - could that be the root cause?

Unfortunately the indices are large and contain confidential information; is
there anything else I can do to identify where the problem is and why
CheckIndex isn't catching it?

Thanks
James

2009/2/23 Michael McCandless <luc...@mikemccandless.com>

>
> Actually, even in 2.3.1, CheckIndex checks for docs-out-of-order both
> within and across segments, so now I'm at a loss as to why it's not catching
> your case.   Any of these indexes small enough to post somewhere i could
> access?
>
> Mike
>
>
> James Brady wrote:
>
>  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
>>
>
>

Reply via email to