Return-Path: Delivered-To: apmail-lucene-java-dev-archive@www.apache.org Received: (qmail 66251 invoked from network); 21 May 2009 22:38:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 21 May 2009 22:38:53 -0000 Received: (qmail 24952 invoked by uid 500); 21 May 2009 22:39:05 -0000 Delivered-To: apmail-lucene-java-dev-archive@lucene.apache.org Received: (qmail 24887 invoked by uid 500); 21 May 2009 22:39:05 -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 24879 invoked by uid 99); 21 May 2009 22:39:05 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 May 2009 22:39:05 +0000 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [128.230.12.71] (HELO mx2.syr.edu) (128.230.12.71) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 May 2009 22:38:55 +0000 Received: from suex07-hub-01.ad.syr.edu (suex07-hub-01.ad.syr.edu [128.230.108.195]) by mx2.syr.edu (8.14.3/8.14.3) with ESMTP id n4LMcYQ8032109 for ; Thu, 21 May 2009 18:38:34 -0400 Received: from suex07-mbx-03.ad.syr.edu ([128.230.108.133]) by suex07-hub-01.ad.syr.edu ([2002:80e6:6cc3::80e6:6cc3]) with mapi; Thu, 21 May 2009 18:38:34 -0400 From: Steven A Rowe To: "java-dev@lucene.apache.org" Date: Thu, 21 May 2009 18:38:32 -0400 Subject: RE: Lucene's default settings & back compatibility Thread-Topic: Lucene's default settings & back compatibility Thread-Index: AcnaBdLBnnEosK6LQHWgdh42IqY6hwAVI7Sg Message-ID: <2D127F11DC79714E9B6A43AC9458147F19A36CF9@suex07-mbx-03.ad.syr.edu> References: <9ac0c6aa0905181406l5c951016k97a16d8db766716e@mail.gmail.com> <4A1425BF.2050607@gmail.com> <9ac0c6aa0905200914t142dfd59hef160d26e879d989@mail.gmail.com> <9ac0c6aa0905201210l2becda41ic5d51b22fca043e@mail.gmail.com> <786fde50905201224i56c6184et463254a8aeb83949@mail.gmail.com> <9ac0c6aa0905201306p7948fae0sfe57e3a70eebe137@mail.gmail.com> <786fde50905202034n5250bc9dk844c39a7d734668c@mail.gmail.com> <9ac0c6aa0905210417t8b06085j54dd207ac86e76b8@mail.gmail.com> In-Reply-To: <9ac0c6aa0905210417t8b06085j54dd207ac86e76b8@mail.gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5,1.2.40,4.0.166 definitions=2009-05-21_03:2009-05-19,2009-05-21,2009-05-21 signatures=0 X-Proofpoint-Spam-Reason: safe X-Virus-Checked: Checked by ClamAV on apache.org On 5/21/2009 at 7:17 AM, Michael McCandless wrote: > OK so it sounds like we've boiled the proposal down to two concrete > changes to the back-compat policy: >=20 > 1) Default settings can change; we will always choose defaults > based on "latest & greatest for new users". This only > affects "runtime behavior". EG in 2.9, when sorting by > field you won't get scores by default. When we do this we > should clearly document the change, and what settings one > could use to get back to the old behavior, in CHANGES.txt. >=20 > 2) An API, once released as deprecated, is fair game to be > removed in the next minor release. >=20 > We still only make bug fixes on point releases, support the index > file format until the next major release -- those don't change. Contrasting the upgrade experience of existing "maintenance" users (i.e., u= sers not using new Lucene features) under current policy with their experie= nce under the above proposals: Currently there are two upgrade experiences for these users: a) upgrading w= ithin the same major release; and b) major release upgrades. =20 For a), the user reads CHANGES for back-compat exceptions, but otherwise ha= s drop-in compatibility. For b), the user performs two upgrades: first, ju= st like in a), to the last minor release in the same major release, address= ing all deprecation warnings; and second, to the major release, with drop-i= n compatibility, modulo CHANGES. Here's the upgrade procedure under the above proposals, from version X.Y to= X.Z: 1. Address all deprecation warnings against the currently used Lucene versi= on (call it version X.Y[0]). 2. Upgrade to X.(++Y), addressing all deprecation warnings and checking CHA= NGES for exceptions to the back-compat policy, including mechanisms to main= tain X.Y[0] defaults.=20 3. Iterate #2 until Y=3D=3DZ. One consequence of these changes is that major version upgrades the same as= minor version upgrades, with the exception that index format support (and = default settings support?) will potentially require attention. Another consequence is that upgrade effort will no longer be amortizable. = Currently, maintenance users can skip minor version upgrades with almost no= penalty, and defer the upgrade pain to major release upgrades, since depre= cation warnings can be safely ignored. (Not advocating this practice, just= noting that it's possible.) Steve --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org For additional commands, e-mail: java-dev-help@lucene.apache.org