lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (LUCENE-3631) Remove write access from SegmentReader and possibly move to separate class or IndexWriter/BufferedDeletes/...
Date Fri, 09 Dec 2011 11:54:40 GMT
Remove write access from SegmentReader and possibly move to separate class or IndexWriter/BufferedDeletes/...
-------------------------------------------------------------------------------------------------------------

                 Key: LUCENE-3631
                 URL: https://issues.apache.org/jira/browse/LUCENE-3631
             Project: Lucene - Java
          Issue Type: Task
          Components: core/index
    Affects Versions: 4.0
            Reporter: Uwe Schindler


After LUCENE-3606 is finished, there are some TODOs:

SegmentReader still contains (package-private) all delete logic including crazy copyOnWrite
for validDocs Bits. It would be good, if SegmentReader itsself could be read-only like all
other IndexReaders.

There are two possibilities to do this:
# the simple one: Subclass SegmentReader and make a RWSegmentReader that is only used by IndexWriter/BufferedDeletes/...
DirectoryReader will only use the read-only SegmentReader. This would move all TODOs to a
separate class. It's reopen/clone method would always create a RO-SegmentReader (for NRT).
# Remove all write and commit stuff from SegmentReader completely and move it to IndexWriter's
readerPool (it must be in readerPool as deletions need a not-changing view on an index snapshot).

Unfortunately the code is so complicated and I have no real experience in those internals
of IndexWriter so I did not want to do it with LUCENE-3606, I just separated the code in SegmentReader
and marked with TODO. Maybe Mike McCandless can help :-)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message