Return-Path: Delivered-To: apmail-lucene-java-dev-archive@www.apache.org Received: (qmail 20943 invoked from network); 20 May 2009 20:17:58 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 20 May 2009 20:17:58 -0000 Received: (qmail 63321 invoked by uid 500); 20 May 2009 20:18:11 -0000 Delivered-To: apmail-lucene-java-dev-archive@lucene.apache.org Received: (qmail 63260 invoked by uid 500); 20 May 2009 20:18:11 -0000 Mailing-List: contact java-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-dev@lucene.apache.org Delivered-To: mailing list java-dev@lucene.apache.org Received: (qmail 63252 invoked by uid 99); 20 May 2009 20:18:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 May 2009 20:18:11 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of serera@gmail.com designates 209.85.219.179 as permitted sender) Received: from [209.85.219.179] (HELO mail-ew0-f179.google.com) (209.85.219.179) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 May 2009 20:18:01 +0000 Received: by ewy27 with SMTP id 27so830960ewy.5 for ; Wed, 20 May 2009 13:17:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=zlUtFIyBD/kVUYl8wdm1tWKHnDUCLMV/SJjcP7mw7Lo=; b=xIeuff5hGhqiulC8AeoI4BNwg7f5N1jNKJhoxluwIoPNfe8T3CdixF9nXT0jUpttq+ ukOyhCZ3oT1Tz/j5pQxYaIvkhCQyxALNWURL/Uv/2Cs8AGYshkudYSXihYDpXH6wV9Jf vEE3bPj/us7ZqpgMt1ZwYcvKmbwZA9bOprqK8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=qeaIb8NpXZdLRXxOA/mTfha+ZW5DsTlnmxFGLvmOFZg4KQ7ACRMa5XjltnUJyI0h23 azp3cutfBxT+HBZsbOZ/f9UJfX9heKQQVTXnQ3OuMp7jcpV8Ultp5pt8BCi9BqhYVnMd yOuE3iQmtkDArb4NCCQDVgOTiZqxaoQZqUQiI= MIME-Version: 1.0 Received: by 10.216.6.200 with SMTP id 50mr383217wen.117.1242850661030; Wed, 20 May 2009 13:17:41 -0700 (PDT) In-Reply-To: <9ac0c6aa0905201306p7948fae0sfe57e3a70eebe137@mail.gmail.com> References: <9ac0c6aa0905181406l5c951016k97a16d8db766716e@mail.gmail.com> <59b3eb370905200657v7ce32a68uf70428c4f7f7e051@mail.gmail.com> <20090520150613.GA4351@rectangular.com> <4A1425BF.2050607@gmail.com> <9ac0c6aa0905200914t142dfd59hef160d26e879d989@mail.gmail.com> <9ac0c6aa0905201210l2becda41ic5d51b22fca043e@mail.gmail.com> <786fde50905201224i56c6184et463254a8aeb83949@mail.gmail.com> <9ac0c6aa0905201306p7948fae0sfe57e3a70eebe137@mail.gmail.com> Date: Wed, 20 May 2009 23:17:40 +0300 Message-ID: <786fde50905201317j4cbd11acq5586138dba06fc7f@mail.gmail.com> Subject: Re: Lucene's default settings & back compatibility From: Shai Erera To: java-dev@lucene.apache.org Content-Type: multipart/alternative; boundary=0016364c7b8d28da2b046a5db821 X-Virus-Checked: Checked by ClamAV on apache.org --0016364c7b8d28da2b046a5db821 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Earwin - I wrote it before - index structure is the only back-compat policy I propose to keep, and not for just one major release, but for 2 (which I believe is the current behavior already). I also absolutely don't want to give that up. I think it's not unreasonable to say "if you want to take advantage of > Lucene's perf improvements and new features, on upgrading you'll have > to recompile, fix APIs, etc.". > +1 (am I allowed to cast +1s not being a committer?) :) On Wed, May 20, 2009 at 11:06 PM, Michael McCandless < lucene@mikemccandless.com> wrote: > On Wed, May 20, 2009 at 3:24 PM, Shai Erera wrote: > > Then why go through all this trouble and not simply change the > back-compat > > policy? > > OK so let's talk policy now ;) > > We need some serious relaxing of the back-compat policy to make the > actsAsVersion proposal pointless. > > Ie whenever we want to change a default, eg sorting by field should > not compute scores, IndexWriter should suddenly default autoCommit to > false, IndexReader.open gives you a readOnly reader, MultiTermQuery is > constant score by default (once we fix BQ to do constant score), docs > are scored out-of-order by BQ, stop filter preserves positions, etc., > we need to be "allowed" (by our policy) make such changes in the next > dot release. > > I want new users on every dot-release to always get the > latest&greatest defaults. Every change we make needs to be free to > adopt the best defaults. > > If we relax our policy enough so that we have full freedom to set > defaults only according to new users, then I agree actsAsVersion is > not needed. > > Back-compat is insanely costly, especially the longer it takes us to > get to the next major release... yet, the specific cost that bothers > me the most is that we hurt our new users because of the back-compat > users. It hurts Lucene's adoption/growth. > > Another consideration on relaxing policy is that back-compat is well > nigh impossible to actually achieve. We spend an insane amount of our > energy maintaining back-compat, but then one accidental breakage that > slips through quickly causes many back-compat users to conclude we are > not back-compat. It's not much bang and alot of buck. > > It is tempting to change our policy to something like: > > * Bug fixes only on each 2.4.X release > > * Anything can change on each 2.X release, but any prior 2.Y index > format is readable > > I think it's not unreasonable to say "if you want to take advantage of > Lucene's perf improvements and new features, on upgrading you'll have > to recompile, fix APIs, etc.". > > Mike > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org > For additional commands, e-mail: java-dev-help@lucene.apache.org > > --0016364c7b8d28da2b046a5db821 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Earwin - I wrote it before - index structure is the only b= ack-compat policy I propose to keep, and not for just one major release, bu= t for 2 (which I believe is the current behavior already). I also absolutel= y don't want to give that up.

I think it= 9;s not unreasonable to say "if you want to take advantage of
Lucene's perf improvements and new features, on upgrading you'll ha= ve
to recompile, fix APIs, etc.".

+1 (am I allowed to= cast +1s not being a committer?) :)

On W= ed, May 20, 2009 at 11:06 PM, Michael McCandless <lucene@mikemccandless.com><= /span> wrote:
On Wed, May 20, 2= 009 at 3:24 PM, Shai Erera <serera@g= mail.com> wrote:
> Then why go through all this trouble and not simply change the back-co= mpat
> policy?

OK so let's talk policy now ;)

We need some serious relaxing of the back-compat policy to make the
actsAsVersion proposal pointless.

Ie whenever we want to change a default, eg sorting by field should
not compute scores, IndexWriter should suddenly default autoCommit to
false, IndexReader.open gives you a readOnly reader, MultiTermQuery is
constant score by default (once we fix BQ to do constant score), docs
are scored out-of-order by BQ, stop filter preserves positions, etc.,
we need to be "allowed" (by our policy) make such changes in the = next
dot release.

I want new users on every dot-release to always get the
latest&greatest defaults. =A0Every change we make needs to be free to adopt the best defaults.

If we relax our policy enough so that we have full freedom to set
defaults only according to new users, then I agree actsAsVersion is
not needed.

Back-compat is insanely costly, especially the longer it takes us to
get to the next major release... =A0yet, the specific cost that bothers
me the most is that we hurt our new users because of the back-compat
users. =A0It hurts Lucene's adoption/growth.

Another consideration on relaxing policy is that back-compat is well
nigh impossible to actually achieve. =A0We spend an insane amount of our energy maintaining back-compat, but then one accidental breakage that
slips through quickly causes many back-compat users to conclude we are
not back-compat. =A0It's not much bang and alot of buck.

It is tempting to change our policy to something like:

=A0* Bug fixes only on each 2.4.X release

=A0* Anything can change on each 2.X release, but any prior 2.Y index
=A0 =A0format is readable

I think it's not unreasonable to say "if you want to take advantag= e of
Lucene's perf improvements and new features, on upgrading you'll ha= ve
to recompile, fix APIs, etc.".

Mike

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


--0016364c7b8d28da2b046a5db821--