In one project we've a system which incrementally updates an index every night. This has been working fine. We've upgraded to Lucene 1.4.2 when it was there without observing a difference instantly. But now we regularly run into trouble. It seems like our index has "captured" a very defunc document and as long as you work around this document the index is still working, but as soon as you touch that particular document, you run into trouble:
java.lang.IndexOutOfBoundsException: Index: 114, Size: 19 at java.util.ArrayList.RangeCheck (ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at org.apache.lucene.index.FieldInfos.fieldInfo(FieldInfos.java:155) at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:66) at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:237) at org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:185 ) at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:92) at org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:487) at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:366)
I've just found a similar traceback in one of our deployed systems (using version 1.4.3):
java.lang.IndexOutOfBoundsException: Index: 104, Size: 11
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.get(ArrayList.java:324)
at org.apache.lucene.index.FieldInfos.fieldInfo(FieldInfos.java:155)
at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:66)
at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:237)
at org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:185)
at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:92)
at org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:487)
at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:366)
After having gotten this error from the optimize() call, it is no longer possible
to search:
java.io.IOException: read past EOF
at org.apache.lucene.store.InputStream.refill(InputStream.java:154)
at org.apache.lucene.store.InputStream.readByte(InputStream.java:43)
at org.apache.lucene.store.InputStream.readBytes(InputStream.java:57)
at org.apache.lucene.index.SegmentReader.norms(SegmentReader.java:356)
at org.apache.lucene.index.MultiReader.norms(MultiReader.java:159)
at org.apache.lucene.search.TermQuery$TermWeight.scorer(TermQuery.java:64)
at org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:165)
at org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:165)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:85)
at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:64)
at org.apache.lucene.search.Hits.<init>(Hits.java:43)
at org.apache.lucene.search.Searcher.search(Searcher.java:33)
at org.apache.lucene.search.Searcher.search(Searcher.java:27)
Any ideas?
-- Geir O.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]