Make IndexReader.open() always return MSR to simplify (re-)opens.
-----------------------------------------------------------------

                 Key: LUCENE-1651
                 URL: https://issues.apache.org/jira/browse/LUCENE-1651
             Project: Lucene - Java
          Issue Type: Task
    Affects Versions: 2.9
            Reporter: Earwin Burrfoot


As per discussion in mailing list, I'm making DirectoryIndexReader.open() 
always return MSR, even for single-segment indexes.
While theoretically valid in the past (if you make sure to keep your index 
constantly optimized) this feature is made practically obsolete by per-segment 
collection.

The patch somewhat de-hairies (re-)open logic for MSR/SR.
SR no longer needs an ability to pose as toplevel directory-owning IR.
All related logic is moved from DIR to MSR.
DIR becomes almost empty, and copying two or three remaining fields over to 
MSR/SR, I remove it.
Lots of tests fail, as they rely on SR returned from IR.open(), I fix by 
introducing SR.getOnlySegmentReader static package-private method.
Some previous bugs are uncovered, one is fixed in LUCENE-1645, another 
(partially fixed in LUCENE-1648) is fixed in this patch. 

-- 
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-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to