Hi Brian,
You might want to follow up on the Lucene list (java-u...@lucene.apache.org
). Something was causing problems with the merging and thus you ended
up with too many segments (hence the slow commits). I doubt that you
lost anything--usually the merge function doesn't modify the index
until the merge is complete. But I am not familiar enough with this
code in lucene to be sure.
-Mike
On 2-Jan-09, at 10:17 AM, Brian Whitman wrote:
I think I'm getting close with this (sorry for the self-replies)
I tried an optimize (which we never do) and it took 30m and said
this a lot:
Exception in thread "Lucene Merge Thread #4"
org.apache.lucene.index.MergePolicy$MergeException:
java.lang.ArrayIndexOutOfBoundsException: Array index out of range:
34950
at
org
.apache
.lucene
.index
.ConcurrentMergeScheduler
.handleMergeException(ConcurrentMergeScheduler.java:314)
at
org.apache.lucene.index.ConcurrentMergeScheduler
$MergeThread.run(ConcurrentMergeScheduler.java:291)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index out
of
range: 34950
at org.apache.lucene.util.BitVector.get(BitVector.java:91)
at org.apache.lucene.index.SegmentTermDocs.next(SegmentTermDocs.java:
125)
at
org
.apache
.lucene.index.SegmentTermPositions.next(SegmentTermPositions.java:98)
at
org
.apache.lucene.index.SegmentMerger.appendPostings(SegmentMerger.java:
633)
at
org
.apache.lucene.index.SegmentMerger.mergeTermInfo(SegmentMerger.java:
585)
at
org
.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java:
546)
at
org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:
499)
at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:139)
at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:
4291)
at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3932)
at
org
.apache
.lucene
.index
.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:205)
at
org.apache.lucene.index.ConcurrentMergeScheduler
$MergeThread.run(ConcurrentMergeScheduler.java:260)
Jan 2, 2009 6:05:49 PM org.apache.solr.common.SolrException log
SEVERE: java.io.IOException: background merge hit exception:
_ks4:C2504982
_oaw:C514635 _tll:C827949 _tdx:C18372 _te8:C19929 _tej:C22201
_1agw:C1717926
into _1agy [optimize]
at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:2346)
at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:2280)
at
org
.apache
.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:
355)
at
org
.apache
.solr
.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcesso
...
But then it finished. And now commits are OK again.
Anyone know what the merge hit exception means and if i lost anything?