lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (JIRA)" <>
Subject [jira] Commented: (LUCENE-743) IndexReader.reopen()
Date Sat, 06 Oct 2007 05:38:50 GMT


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
> successfully, then a new MultiReader instance is created and the reopened subreaders
> 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:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Otis Gospodnetic
>            Assignee: Michael Busch
>            Priority: Minor
>             Fix For: 2.3
>         Attachments:, lucene-743-take2.patch, lucene-743.patch,
lucene-743.patch, lucene-743.patch,,
> 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:
For additional commands, e-mail:

View raw message