lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Busch (JIRA)" <j...@apache.org>
Subject [jira] Updated: (LUCENE-832) NPE when calling isCurrent() on a ParallellReader
Date Tue, 31 Jul 2007 23:38:53 GMT

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

Michael Busch updated LUCENE-832:
---------------------------------

    Attachment: lucene-832.patch

This patch fixes ParallelReader similar to LUCENE-781:

   * ParallelReader.getVersion() now throws an
     UnsupportedOperationException.
	 
   * ParallelReader.isOptimized() now checks if all underlying
     indexes are optimized and returns true in such a case.
	 
   * ParallelReader.isCurrent() now checks if all underlying
     IndexReaders are up to date and returns true in such a case.
	 
   * Additional tests in TestParallelReader to test these methods.
	 

All tests pass. I'm planning to commit this soon...

> 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
>         Attachments: lucene-832.patch
>
>
> 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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message