[ 
https://issues.apache.org/jira/browse/LUCENE-832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Busch reassigned LUCENE-832:
------------------------------------

    Assignee: Michael Busch

> 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.0.0, 2.0.1, 2.1, 2.2
>            Reporter: Paul Dlug
>            Assignee: Michael Busch
>
> 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