Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.5
-
None
-
New
Description
I found this during adding deprecations for RW access in LUCENE-3606:
the base class defines doOpenIfChanged(boolean readOnly), but MultiReader and ParallelReader "override" this method with a signature doOpenIfChanged(doClone) and missing @Override. This makes consumers calling IR.openIfChanged(boolean readOnly) do the wrong thing. Instead they should get UOE like for the other unimplemented doOpenIfChanged methods in MR and PR.
Easy fix is to rename and hide this internal "reopen" method, like DirectoryReader,...
Attachments
Attachments
Issue Links
- is depended upon by
-
LUCENE-3632 Fully support doOpenIfChanged(boolean readOnly)/clone(boolean readOnly) in MultiReader and ParallelReader
- Closed
Only MultiReader has this problem, ParallelReader used another method name for the internal reopen. I will make the internal implementation private for both classes (they were protected because of the above override issue) and rename it to doReopen().
The same on trunk, where some relicts of those method signatures are still protected. But the bug does not occur here.