Doc out of order exception when merging

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Highest
    • 3.7.2
    • Affects Version/s: 3.7, 3.7.1
    • Component/s: Indexing
    • 3.07

      Something in 3.7 causes the error reported at - http://issues.apache.org/jira/browse/LUCENE-140

      It occurs in two places, inside IndexWriter.addDocument():

      java.lang.IllegalStateException: docs out of order
      at org.apache.lucene.index.SegmentMerger.appendPostings([Lorg/apache/lucene/index/SegmentMergeInfo;I)I(Optimized Method)
      at org.apache.lucene.index.SegmentMerger.mergeTermInfo([Lorg/apache/lucene/index/SegmentMergeInfo;I)V(Optimized Method)
      at org.apache.lucene.index.SegmentMerger.mergeTermInfos()V(Optimized Method)
      at org.apache.lucene.index.SegmentMerger.mergeTerms()V(Optimized Method)
      at org.apache.lucene.index.SegmentMerger.merge()I(Optimized Method)
      at org.apache.lucene.index.IndexWriter.mergeSegments(II)V(IndexWriter.java:681)
      at org.apache.lucene.index.IndexWriter.mergeSegments(I)V(IndexWriter.java:658)
      at org.apache.lucene.index.IndexWriter.maybeMergeSegments()V(IndexWriter.java:646)
      at org.apache.lucene.index.IndexWriter.addDocument(Lorg/apache/lucene/document/Document;Lorg/apache/lucene/analysis/Analyzer;)V(IndexWriter.java:453)
      at org.apache.lucene.index.IndexWriter.addDocument(Lorg/apache/lucene/document/Document;)V(IndexWriter.java:436)
      

      and inside IndexWriter.close():

      java.lang.IllegalStateException: docs out of order
      at org.apache.lucene.index.SegmentMerger.appendPostings([Lorg/apache/lucene/index/SegmentMergeInfo;I)I(Optimized Method)
      at org.apache.lucene.index.SegmentMerger.mergeTermInfo([Lorg/apache/lucene/index/SegmentMergeInfo;I)V(Optimized Method)
      at org.apache.lucene.index.SegmentMerger.mergeTermInfos()V(Optimized Method)
      at org.apache.lucene.index.SegmentMerger.mergeTerms()V(Optimized Method)
      at org.apache.lucene.index.SegmentMerger.merge()I(Optimized Method)
      at org.apache.lucene.index.IndexWriter.mergeSegments(II)V(IndexWriter.java:681)
      at org.apache.lucene.index.IndexWriter.mergeSegments(I)V(IndexWriter.java:658)
      at org.apache.lucene.index.IndexWriter.flushRamSegments()V(IndexWriter.java:628)
      at org.apache.lucene.index.IndexWriter.close()V(IndexWriter.java:375)
      

      The second one exposes a problem in the close() method which is that the index write.lock is not released when exceptions are thrown in close() causing subsequent attempts to open an IndexWriter to fail.

            Assignee:
            Unassigned
            Reporter:
            Nick Menere [Atlassian] (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: