Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-398

ParallelReader crashes when trying to merge into a new index

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.1
    • core/index
    • None
    • Operating System: All
      Platform: All

    • 35454

    Description

      ParallelReader causes a NullPointerException in
      org.apache.lucene.index.ParallelReader$ParallelTermPositions.seek(ParallelReader.java:318)
      when trying to merge into a new index.

      See test case and sample output:

      $ svn diff
      Index: src/test/org/apache/lucene/index/TestParallelReader.java
      ===================================================================
      — src/test/org/apache/lucene/index/TestParallelReader.java (revision 179785)
      +++ src/test/org/apache/lucene/index/TestParallelReader.java (working copy)
      @@ -57,6 +57,13 @@

      }

      + public void testMerge() throws Exception {
      + Directory dir = new RAMDirectory();
      + IndexWriter w = new IndexWriter(dir, new StandardAnalyzer(), true);
      + w.addIndexes(new IndexReader[]

      { ((IndexSearcher) parallel).getIndexReader() }

      );
      + w.close();
      + }
      +
      private void queryTest(Query query) throws IOException {
      Hits parallelHits = parallel.search(query);
      Hits singleHits = single.search(query);
      $ ant -Dtestcase=TestParallelReader test
      Buildfile: build.xml
      [...]
      test:
      [mkdir] Created dir:
      /Users/skirsch/text/lectures/da/thirdparty/lucene-trunk/build/test
      [junit] Testsuite: org.apache.lucene.index.TestParallelReader
      [junit] Tests run: 2, Failures: 0, Errors: 1, Time elapsed: 1.993 sec

      [junit] Testcase: testMerge(org.apache.lucene.index.TestParallelReader):
      Caused an ERROR
      [junit] null
      [junit] java.lang.NullPointerException
      [junit] at
      org.apache.lucene.index.ParallelReader$ParallelTermPositions.seek(ParallelReader.java:318)
      [junit] at
      org.apache.lucene.index.ParallelReader$ParallelTermDocs.seek(ParallelReader.java:294)
      [junit] at
      org.apache.lucene.index.SegmentMerger.appendPostings(SegmentMerger.java:325)
      [junit] at
      org.apache.lucene.index.SegmentMerger.mergeTermInfo(SegmentMerger.java:296)
      [junit] at
      org.apache.lucene.index.SegmentMerger.mergeTermInfos(SegmentMerger.java:270)
      [junit] at
      org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:234)
      [junit] at
      org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:96)
      [junit] at
      org.apache.lucene.index.IndexWriter.addIndexes(IndexWriter.java:596)
      [junit] at
      org.apache.lucene.index.TestParallelReader.testMerge(TestParallelReader.java:63)
      [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      [junit] at
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      [junit] at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      [junit] Test org.apache.lucene.index.TestParallelReader FAILED

      BUILD FAILED
      /Users/skirsch/text/lectures/da/thirdparty/lucene-trunk/common-build.xml:188:
      Tests failed!

      Total time: 16 seconds
      $

      Attachments

        1. ParallelReaderTest1.java
          5 kB
          Christian Kohlschuetter
        2. patch-next.diff
          1 kB
          Christian Kohlschuetter
        3. ASF.LICENSE.NOT.GRANTED--ParallelReader.diff
          3 kB
          Sebastian Kirsch
        4. ASF.LICENSE.NOT.GRANTED--parallelreader.diff
          0.5 kB
          Daniel Naber

        Activity

          People

            yseeley@gmail.com Yonik Seeley
            apache-bugzilla@sebastian-kirsch.org Sebastian Kirsch
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: