I'll open an issue and work out a patch. Though this deprecation stuff is
what I was worried of - they always tend to expand more than I plan to :).

Shai

On Sun, Jul 26, 2009 at 9:44 PM, Michael McCandless <
luc...@mikemccandless.com> wrote:

> I agree it's messy now.  I think requiring the writer to be specified
> on creating the merge policy would make sense.  You can't safely share
> a LMP today across multiple writers, yet the class "pretends" that you
> can...
>
> You'd also need to deprecate the public methods that take a writer in
> favor of new methods that don't take one (and use the member instead)?
>
> Wanna cons up a patch?
>
> Mike
>
> On Sun, Jul 26, 2009 at 7:30 AM, Shai Erera<ser...@gmail.com> wrote:
> > Hi
> >
> > While reading LogMergePolicy I noticed that it uses IndexWriter's member
> and
> > method arg inconsistently:
> > 1) Some methods that receive IW as a parameer, do: this.indexWriter =
> > indexWriter, and then use the member instance.
> > 2) Others set the member instance, but continue to use the method arg.
> > 3) Others don't set the member instance at all.
> > 4) Some use the member, w/ the possibility of hitting NPE (if, say, the
> > findMerge* methods were not called yet).
> >
> > As far as I understand, the member instance is defined just for methods
> that
> > need to use IW, but since the class does not require IW to be passed
> during
> > construction, they rely on one of the findMerge* methods to set the
> member
> > instance to the one they got. Is that right? I guess it is possible for
> the
> > same MergePolicy instance to receive different IW instances during its
> life
> > span, but is it something we should support?
> >
> > Leaving back-compat aside for a moment, if a MP lives within an
> IndexWriter,
> > why not require an IW instance to be passed during an MP construction
> > (passing 'this' for IW own instantiation)? Then we can remove the IW
> method
> > arg and rely, safely, on the existence of IW.
> >
> > Shai
> >
> >
>
> ---------------------------------------------------------------------
> 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