[
https://issues.apache.org/jira/browse/LUCENE-781?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12466852
]
Doron Cohen commented on LUCENE-781:
------------------------------------
I thought it would not break MultiReader, just do unnecessary work for that
method...?
Same new test (using that (readers[]) constructor) would fail also in previous
versions.
I think main difference is that for the MultiReader created inside IndexReader,
(1) all readers share the same directory, and (2) it maintains a SegmentsInfos
read from that single directory.
Now this is not the case for the other (but still valid (?)) usage of
MultiReader - because there is no single directory (well, not necessarily) and
hence no SegmentInfos for the MultiReader.
So it seems a possible fix would be:
- define a boolean e.g. isWholeIndex predicate in MultiReader
- would be true when constructed with a non null dir and a non null
segmentInfos
- base operation upon it:
- if isWholeIndex call super.isCurrent() otherwise do the (multi) logic in
current fix.
> NPE in MultiReader.isCurrent() and getVersion()
> -----------------------------------------------
>
> Key: LUCENE-781
> URL: https://issues.apache.org/jira/browse/LUCENE-781
> Project: Lucene - Java
> Issue Type: Bug
> Components: Index
> Reporter: Daniel Naber
> Attachments: multireader.diff, multireader_test.diff
>
>
> I'm attaching a fix for the NPE in MultiReader.isCurrent() plus a testcase.
> For getVersion(), we should throw a better exception that NPE. I will commit
> unless someone objects or has a better idea.
--
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]