NPE when calling isCurrent() on a ParallellReader
-------------------------------------------------

                 Key: LUCENE-832
                 URL: https://issues.apache.org/jira/browse/LUCENE-832
             Project: Lucene - Java
          Issue Type: Bug
          Components: Index
    Affects Versions: 2.1, 2.0.0, 2.0.1, 2.2
            Reporter: Paul Dlug


As demonstrated by the test case below, if you call isCurrent() on a 
ParallelReader it causes an NPE. Fix appears to be to add an isCurrent() to 
ParallelReader which calls it on the underlying indexes but I'm not sure what 
other problems may be lurking here. Do methods such as getVersion(), 
lastModified(), isOptimized() also have to be rewritten or is this a use case 
where ParallelReader will never mimic IndexReader perfectly? At the very least 
this behavior should be documented so others know what to expect.


    [junit] Testcase: 
testIsCurrent(org.apache.lucene.index.TestParallelReader):        Caused an 
ERROR
    [junit] null
    [junit] java.lang.NullPointerException
    [junit]     at 
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:502)
    [junit]     at 
org.apache.lucene.index.SegmentInfos.readCurrentVersion(SegmentInfos.java:336)
    [junit]     at 
org.apache.lucene.index.IndexReader.isCurrent(IndexReader.java:316)
    [junit]     at 
org.apache.lucene.index.TestParallelReader.testIsCurrent(TestParallelReader.java:146)



Index: src/test/org/apache/lucene/index/TestParallelReader.java
===================================================================
--- src/test/org/apache/lucene/index/TestParallelReader.java    (revision 
518122)
+++ src/test/org/apache/lucene/index/TestParallelReader.java    (working copy)
@@ -135,6 +135,15 @@
       assertEquals(docParallel.get("f4"), docSingle.get("f4"));
     }
   }
+  
+  public void testIsCurrent() throws IOException {
+    Directory dir1 = getDir1();
+    Directory dir2 = getDir2();
+    ParallelReader pr = new ParallelReader();
+    pr.add(IndexReader.open(dir1));
+    pr.add(IndexReader.open(dir2));
+    assertTrue(pr.isCurrent());
+  }
 
   // Fiels 1-4 indexed together:
   private Searcher single() throws IOException {


-- 
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]

Reply via email to