[ https://issues.apache.org/jira/browse/LUCENE-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12532829 ]
Hoss Man commented on LUCENE-743: --------------------------------- I haven't looked at the patch yet (i really really plan to this weekend, baring catastrophe) but i'm confused as to why you went the cloning route (along with the complexity of the api changes to indicate when it is/isn't supported) ... based on the comments, it seems to boil down to... > As an example for how the clone() method is used let me describe how > MultiReader.reopen() > works: it tries to reopen every of its subreaders. If at least one subreader > could be reopened > successfully, then a new MultiReader instance is created and the reopened > subreaders are > added to it. Every of the old MultiReader's subreaders, that was not reopened > (because of no > index changes) is now cloned() and added to the new MultiReader. that seems like circular logic: the clone method is used so that the sub readers can be cloned (?) why use clones at all? why not just use the original reader (if the "index" that reader represents hasn't changed, why clone it? And if (for reasons that aren't clear to me) it is important for MultiReader to use a clone of it's subreaders when their reopen method returns "this" then shouldn't clients do the same thing? ... why not make reopen always return this.clone() if the index hasn't changed (which now that i think about it, would also help by punting on the isCloneSupported issue -- each class would already know if it was clonable. maybe this will make more sense once i read the patch ... i just wanted to through it out there in case someone had a chance to reply before i get a chance. > IndexReader.reopen() > -------------------- > > Key: LUCENE-743 > URL: https://issues.apache.org/jira/browse/LUCENE-743 > Project: Lucene - Java > Issue Type: Improvement > Components: Index > Reporter: Otis Gospodnetic > Assignee: Michael Busch > Priority: Minor > Fix For: 2.3 > > Attachments: IndexReaderUtils.java, lucene-743-take2.patch, > lucene-743.patch, lucene-743.patch, lucene-743.patch, MyMultiReader.java, > MySegmentReader.java > > > This is Robert Engels' implementation of IndexReader.reopen() functionality, > as a set of 3 new classes (this was easier for him to implement, but should > probably be folded into the core, if this looks good). -- 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]