Return-Path: Delivered-To: apmail-lucene-java-dev-archive@www.apache.org Received: (qmail 37099 invoked from network); 23 Aug 2009 19:36:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 23 Aug 2009 19:36:20 -0000 Received: (qmail 95780 invoked by uid 500); 23 Aug 2009 19:36:40 -0000 Delivered-To: apmail-lucene-java-dev-archive@lucene.apache.org Received: (qmail 95692 invoked by uid 500); 23 Aug 2009 19:36:40 -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 95684 invoked by uid 99); 23 Aug 2009 19:36:40 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 23 Aug 2009 19:36:40 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of dmsmith555@gmail.com designates 74.125.92.25 as permitted sender) Received: from [74.125.92.25] (HELO qw-out-2122.google.com) (74.125.92.25) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 23 Aug 2009 19:36:30 +0000 Received: by qw-out-2122.google.com with SMTP id 8so1244356qwh.53 for ; Sun, 23 Aug 2009 12:36:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:mime-version :subject:date:references:x-mailer; bh=eRXqR4c9waHeLNN5Indx3jtr+lpfbCvGKeLtZ1EdPxA=; b=XEtIoI1/JyYzB4vWbLDiWZq/0qw5zJdyUax00n2LBHfiBGilT2+6Z6O1i9iLu0XCWe fYBpm62c+P57U8lZb9WE+zzHr7fWMNrNrcO6Dtjb0Gq4vM93VpRVcrVGMJuH3ol/j5zt MXiL+pdp5avvAPEal6YeqEjvDcHRg2kuuKB44= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:in-reply-to:content-type :content-transfer-encoding:mime-version:subject:date:references :x-mailer; b=KRM25hRpetysoBUFiSTExThIGrGtY76X52XRpl1A77y7VR9xwPsDdNI7Vv1+E9POlb cBvQeLEfDSDgG8Es+e28U94M8KXFF3w8qRBMCXHn4kO+TOUbrg0yqxg7zisinYkbGLNh wik+niS//xu7cGvBIMdj2RvZ9wa2/62TM5UHc= Received: by 10.224.4.30 with SMTP id 30mr2240196qap.263.1251056169750; Sun, 23 Aug 2009 12:36:09 -0700 (PDT) Received: from ?192.168.1.100? (cpe-71-64-151-254.woh.res.rr.com [71.64.151.254]) by mx.google.com with ESMTPS id 7sm2364635qwf.17.2009.08.23.12.36.09 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 23 Aug 2009 12:36:09 -0700 (PDT) Message-Id: <90F51F83-4238-4DCD-9369-4809C48ABB29@gmail.com> From: DM Smith To: java-dev@lucene.apache.org In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v936) Subject: Lucene 3.0 and Java 5 (was Re: Finishing Lucene 2.9) Date: Sun, 23 Aug 2009 15:36:07 -0400 References: <4A89DF01.8060204@gmail.com> <4A8B0053.4030104@gmail.com> <9ac0c6aa0908181228o2c1cda63l2f77a09959c34a69@mail.gmail.com> <4A8C10FB.4030108@gmail.com> <596D2C98A44141778B23462582A1BE6E@VEGA> <4A8C7AE5.5040409@gmail.com> <9ac0c6aa0908200308o27e6a63atcf57188d5e6bc4af@mail.gmail.com> <4A8D485A.2010106@gmail.com> <9ac0c6aa0908231018s8c7a746h89da4e4e2a886489@mail.gmail.com> <8f0ad1f30908231038q475ff87bued2bd64e4f803d90@mail.gmail.com> X-Mailer: Apple Mail (2.936) X-Virus-Checked: Checked by ClamAV on apache.org On Aug 23, 2009, at 2:06 PM, Simon Willnauer wrote: > On Sun, Aug 23, 2009 at 7:38 PM, Robert Muir wrote: >> just wanted to mention this (i honestly don't have any opinion >> either way): >> >>> Right, this (you can jump to 2.9, fix all deprecations, then easily >>> move to 3.0 and see no deprecations) is my understanding too, but I >>> don't see what's particularly useful about that. It does produce a >>> Lucene release that has zero deprecated APIs (assuming we remove all >>> of them), but I don't think that's very important. Also, it's >>> extra work >>> having to do a "no-op, except for deprecations removal and generics >>> addition" release :) >> >> But isn't it also true it could be a bit more than no-op: >> 1) changing to "better" defaults in cases where back compat prevents >> this. I think I remember a few of these? >> 2) bugfixes found after release of 2.9 >> 3) performance improvements, not just from #1 but also from removal >> of >> back-compat shims (i.e. tokenstream reflection) >> >> I am not saying this stuff is really important to users to merit a >> release, but I don't think it is a no-op either. > > I agree with robert that this is very likely not to be a no-op > release. Changing to 1.5 brings in generics and lots of other stuff > which could bring improvements. All the concurrent improvements, > VarArgs and Utils in classes like Integer (valueOf) etc. I believe > that we find may places in the code where existing stuff could be > improved with the ability to commit 1.5 code. > Moving to 1.5 with 3.0 would be a clean step in my eyes. Having 3.0 > with 1.4 back-compat and then 3.1 which get rid of this would confuse > users. My two cents. I think the contract of the 3.0 release is that it is a drop in replacement for the 2.9 release but requires Java 1.5. I expect to compile against Lucene 2.9 using Java 1.4, removing deprecations. And then go to Lucene 3.0 changing the compiler to Java 1.5 but making no code changes. To that end, any introduction of Java 1.5 into the end-user/non-expert/ non-experimental/non-contrib API needs to work with existing code as is. It may require the user to compile with lax permissions using Java 1.5 and run with Java 1.5. Requiring Java 1.5 can be as easy as using a Java 1.5 feature internally, in the expert or experimental APIs, and classes that are not part of the backward compatibility contract (e.g. utility classes). I don't think there should be any effort to maintain Java 1.4 compatibility, but I also think changes should be made only where it makes sense, giving a clear advantage (performance, maintainability, ....). If that results in 1.4 compatibility it is a temporary benefit not guaranteed during the 3.x series. I agree with previous threads that there is both a blessing and a curse with Lucene's backward compatibility release policy. My biggest gripe is the evolution toward bad class names. I would like to see a 4.0 release dedicated to fixing the name/api problems and making the API of Lucene be what it should have been for a 3.0 release. I'd also suggest that repackaging, suggested in a prior thread, be tackled also. This could follow a 3.0 release quickly. -- DM Smith --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org For additional commands, e-mail: java-dev-help@lucene.apache.org