[ https://issues.apache.org/jira/browse/LUCENE-986?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12522025 ]
Hoss Man commented on LUCENE-986: --------------------------------- one aspect of this that should be considered: It may not make sense for MultiReader to extend MultiSegmentReader ... as Michael says, only subclasses that own the index directory should have segmentInfos, and a MultiReader (as defined on the trunk now) can never own it's own directory. I haven't worked through all the implications, but perhaps the most logical refactoring would be... * IndexReader ...as abstract as possible given that we can't actually make methods abstract * DirectoryIndexReader extends IndexReader ...new class, encapsulated all the segmentInfos and locking logic currently in IndexReader (can definitely be made abstract if helpful) * SegmentReader extends DirectoryIndexReader * MultiSegmentReader extends DirectoryIndexReader * ParallelIndexReader extends IndexReader * FilterIndexReader extends IndexReader * MultiReader extends IndexReader ...(side note that i *really* haven't thought through completley: should MultiReader extend FilterIndexReader?) there would likely be some utlity functionality that could be reused between MultiReader and MultiSegmentReader ... possible as static methods in IndexReader (or a new util class) > Refactor segmentInfos from IndexReader into its subclasses > ---------------------------------------------------------- > > Key: LUCENE-986 > URL: https://issues.apache.org/jira/browse/LUCENE-986 > Project: Lucene - Java > Issue Type: Improvement > Components: Index > Reporter: Michael Busch > Assignee: Michael Busch > Priority: Minor > Fix For: 2.3 > > > References to segmentInfos in IndexReader cause different kinds of problems > for subclasses of IndexReader, like e. g. MultiReader. > Only subclasses of IndexReader that own the index directory, namely > SegmentReader and MultiSegmentReader, should have a SegmentInfos object > and be able to access it. > Further information: > http://www.gossamer-threads.com/lists/lucene/java-dev/51808 > http://www.gossamer-threads.com/lists/lucene/java-user/52460 > A part of the refactoring work was already done in LUCENE-781 -- 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]