[ https://issues.apache.org/jira/browse/LUCENE-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael McCandless resolved LUCENE-1037. ---------------------------------------- Resolution: Duplicate I think very likely this is a dup of LUCENE-1044: on a hard shutdown of a machine, the OS and/or hard drive may have cached writes that never get completed even though other writes done by the application after those writes, were completed. LUCENE-1044 will fix this by explicitly sync'ing files and not deleting old commit points until all files in a newer commit point are sync'd. > Corrupt index: term out of order after forced stop during indexing > ------------------------------------------------------------------- > > Key: LUCENE-1037 > URL: https://issues.apache.org/jira/browse/LUCENE-1037 > Project: Lucene - Java > Issue Type: Bug > Components: Index > Affects Versions: 2.0.1 > Environment: Windows Server 2003 > Reporter: Chuck Williams > > In testing a reboot during active indexing, upon restart this exception > occurred: > Caused by: java.io.IOException: term out of order > ("ancestorForwarders:".compareTo("descendantMoneyAmounts:$0.351") <= 0) > at org.apache.lucene.index.TermInfosWriter.add(TermInfosWriter.java:96) > at > org.apache.lucene.index.SegmentMerger.mergeTermInfo(SegmentMerger.java:322) > at > org.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java:289) > at > org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:253) > at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:96) > at > org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:1398) > at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:835) > at ... (application code) > The "ancestorForwarders:" term has no text. The application never creates > such a term. It seems the reboot occurred while this term was being > written, but such a segment should not be linked into the index and so should > not be visible after restart. > The application uses parallel subindexes accessed with ParallelReader. This > reboot caught the system in a state where the indexes were out of sync, i.e. > a new document had parts indexed in one subindex but not yet indexed in > another. The application detects this condition upon restart, uses > IndexReader.deleteDocument() to delete the parts that were indexed from those > subindexes, and then does optimize() all all the subindexes to bring the > docid's back into sync. The optimize() failed, presumably on a subindex that > was being written at the time of the reboot. This subindex would not have > completed its document part and so no deleteDocument() would have been > performed on it prior to the optimize(). > The version of Lucene here is from January 2007. I see one other reference > to this exception in LUCENE-848. There is a note there that the exception is > likely a core problem, but I don't see any follow up to track it down. > Any ideas how this could happen? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]