Return-Path: Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: (qmail 60797 invoked from network); 18 Feb 2011 03:33:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 18 Feb 2011 03:33:31 -0000 Received: (qmail 76976 invoked by uid 500); 18 Feb 2011 03:33:31 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 76654 invoked by uid 500); 18 Feb 2011 03:33:29 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 76646 invoked by uid 99); 18 Feb 2011 03:33:28 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Feb 2011 03:33:28 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of saint.ack@gmail.com designates 74.125.82.51 as permitted sender) Received: from [74.125.82.51] (HELO mail-ww0-f51.google.com) (74.125.82.51) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Feb 2011 03:33:23 +0000 Received: by wwe15 with SMTP id 15so3249487wwe.20 for ; Thu, 17 Feb 2011 19:33:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; bh=FDVjfPe2bJSv7zvsvjW+uzi8Ikfjuy3pHEqO5eAgiKE=; b=WxCeygQZbZoF75IkQTsl8xDKPaIaRcOJjG2CjX0X/Vaz6vKyfKWouqN5Mpn3DiMoI2 5/P2OOLW9FpcojyM2TXHWx2EuaagcToyiri0/ZkEaJh6RcCgKShXKiOnAW6VRXDmcY7h sGlVJ0b+qQuY3YCPXoBZ2rXUvpZewH9z27hGk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=UJh78gZ7VoPu3H5bS8Om9tzRSdfMEodhW0k37S5jKTu7FE9aoqghMk7AMX/WG3A/Lo WB2yLjofsGME/pWJb2c8/1k5ZhZErLBmZ9/m5a3tti6KJLTlFe4Qvi16k8ZhcIIaj/vD HmrSoPHjajgeVxIk+arqZ3zKsbK4lDMqdysm8= MIME-Version: 1.0 Received: by 10.216.4.83 with SMTP id 61mr1052518wei.67.1297999981781; Thu, 17 Feb 2011 19:33:01 -0800 (PST) Sender: saint.ack@gmail.com Received: by 10.216.54.16 with HTTP; Thu, 17 Feb 2011 19:33:01 -0800 (PST) In-Reply-To: References: <50344.92839.qm@web65504.mail.ac4.yahoo.com> Date: Thu, 17 Feb 2011 19:33:01 -0800 X-Google-Sender-Auth: lb5700qOhGzrOtYnUD9fa57jB9A Message-ID: Subject: Re: API changes between 0.20.6 and 0.90.1 From: Stack To: dev@hbase.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Do you want to post your patch to an issue Ted? Others might be interested= . Thanks, St.Ack On Thu, Feb 17, 2011 at 5:03 PM, Ted Yu wrote: > In order to minimize maintenance, we produced an hbase-0.20.6 jar which > contains the changed APIs (limited to our use cases) in 0.90.1 > This way our code builds with both jars and we can easily switch. > > FYI > > On Wed, Feb 16, 2011 at 3:29 PM, Ryan Rawson wrote: > >> Step 1 is to add the jdiff framework in, that is a non-trivial but >> straightforward change. >> Step 2 is to annotate all the APIs, something that should be done by >> various domain experts over time. Even if this is not complete there >> is value with #1. >> Step 3: ? >> Step 4: profit! >> >> On Wed, Feb 16, 2011 at 3:17 PM, Ted Yu wrote: >> > Looking at what Stack is doing in >> > https://issues.apache.org/jira/browse/HBASE-1502, I think we can use t= he >> > following appoach: >> > 1. create the annotations below >> > 2. Committers who actively refactor code place proper annotation on th= e >> > classes they touch >> > 3. after some time, we should be able to mark the classes/methods >> untouched >> > by #2 stable. >> > >> > My two cents. >> > >> > On Wed, Feb 16, 2011 at 2:12 PM, Ted Yu wrote: >> > >> >> The following annotation can only be attached by HBase committer(s): >> >> >> >> >> >> Stability: >> >> =A0- Unstable: may change and likely to change between point releases= , >> >> =A0- Evolving: possibly change between point releases but unlikely, c= ould >> >> well change between bigger releases >> >> >> >> Contributors would have a hard time keeping up with current developme= nt. >> >> >> >> >> >> On Wed, Feb 16, 2011 at 12:46 PM, Ted Yu wrote: >> >> >> >>> I am not very familiar with (internal) HBase APIs which grow quite >> large. >> >>> I have a full-time job. >> >>> >> >>> And this task is quite big. >> >>> >> >>> Community effort should be the best approach. >> >>> >> >>> >> >>> On Wed, Feb 16, 2011 at 12:20 PM, Todd Lipcon >> wrote: >> >>> >> >>>> On Wed, Feb 16, 2011 at 12:16 PM, Ryan Rawson > >wrote: >> >>>> >> >>>>> Sounds like Ted volunteered to do it! >> >>>>> >> >>>> >> >>>> Woohoo, thanks Ted! >> >>>> >> >>>> -Todd >> >>>> >> >>>> >> >>>>> =A0On Wed, Feb 16, 2011 at 12:15 PM, Ted Yu >> wrote: >> >>>>> > Definitely. >> >>>>> > >> >>>>> > On Wed, Feb 16, 2011 at 11:57 AM, Todd Lipcon >> >>>>> wrote: >> >>>>> > >> >>>>> >> In Hadoop land, Tom White did some awesome work to add special >> >>>>> annotations >> >>>>> >> that we stick on all the public classes that classify the >> interfaces >> >>>>> as: >> >>>>> >> >> >>>>> >> Stability: >> >>>>> >> =A0- Unstable: may change and likely to change between point >> releases, >> >>>>> >> =A0- Evolving: possibly change between point releases but unlik= ely, >> >>>>> could >> >>>>> >> well change between bigger releases >> >>>>> >> =A0- Stable: hasn't changed in a long time, unlikely to change >> >>>>> >> >> >>>>> >> Audience: Private, Limited, Public >> >>>>> >> =A0- Private: not meant for users, even if it's "Stable" we mig= ht >> >>>>> change it >> >>>>> >> and break you without a deprecation path >> >>>>> >> =A0- Limited: meant only for a certain set of specified project= s (eg >> we >> >>>>> might >> >>>>> >> say "this API is only for use by Hive, and we'll change it so l= ong >> as >> >>>>> the >> >>>>> >> hive people are OK with it") >> >>>>> >> =A0- Public: won't change without deprecation path for one majo= r >> >>>>> release >> >>>>> >> >> >>>>> >> He also built some cool tools to do jdiff and javadoc with thes= e >> >>>>> >> annotations >> >>>>> >> taken into account (eg javadoc won't show private APIs) >> >>>>> >> >> >>>>> >> Are people interested in bringing this system over to HBase? >> >>>>> >> >> >>>>> >> -Todd >> >>>>> >> >> >>>>> >> On Wed, Feb 16, 2011 at 11:51 AM, Ryan Rawson > > >> >>>>> wrote: >> >>>>> >> >> >>>>> >> > Well done Andrew. >> >>>>> >> > >> >>>>> >> > People who want to know the API differences should probably >> mostly >> >>>>> only >> >>>>> >> > read: >> >>>>> >> > >> >>>>> >> > >> >>>>> >> > >> >>>>> >> >> >>>>> >> https://tm-files.s3.amazonaws.com/hbase/jdiff-hbase-0.90.1/changes/pkg_o= rg.apache.hadoop.hbase.client.html >> >>>>> >> > >> >>>>> >> > And specifically the HTable, Put, Get, Delete, Scan classes. >> >>>>> >> > >> >>>>> >> > >> >>>>> >> > >> >>>>> >> > On Wed, Feb 16, 2011 at 7:19 AM, Andrew Purtell < >> >>>>> apurtell@apache.org> >> >>>>> >> > wrote: >> >>>>> >> > > I ran jdiff by hand. See: >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > >> >>>>> >> https://tm-files.s3.amazonaws.com/hbase/jdiff-hbase-0.90.1/changes.html >> >>>>> >> > > >> >>>>> >> > > Best regards, >> >>>>> >> > > >> >>>>> >> > > =A0 =A0 - Andy >> >>>>> >> > > >> >>>>> >> > > Problems worthy of attack prove their worth by hitting back= . >> >>>>> >> > > =A0 - Piet Hein (via Tom White) >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > --- On Wed, 2/16/11, Lars George >> wrote: >> >>>>> >> > > >> >>>>> >> > >> From: Lars George >> >>>>> >> > >> Subject: Re: API changes between 0.20.6 and 0.90.1 >> >>>>> >> > >> To: dev@hbase.apache.org >> >>>>> >> > >> Date: Wednesday, February 16, 2011, 1:22 AM >> >>>>> >> > >> +1, I like that idea. >> >>>>> >> > >> >> >>>>> >> > >> On Wed, Feb 16, 2011 at 2:43 AM, Todd Lipcon < >> todd@cloudera.com >> >>>>> > >> >>>>> >> > >> wrote: >> >>>>> >> > >> > Hi Ted, >> >>>>> >> > >> > >> >>>>> >> > >> > I'd recommend setting up jdiff to answer this >> >>>>> >> > >> question. Would be a good >> >>>>> >> > >> > contribution to our source base to be able to run this >> >>>>> >> > >> automatically and >> >>>>> >> > >> > generate a report as part of our build. We do this in >> >>>>> >> > >> Hadoop and it's very >> >>>>> >> > >> > useful. >> >>>>> >> > >> > >> >>>>> >> > >> > -Todd >> >>>>> >> > >> > >> >>>>> >> > >> > On Tue, Feb 15, 2011 at 5:14 PM, Ted Yu < >> yuzhihong@gmail.com> >> >>>>> >> > >> wrote: >> >>>>> >> > >> > >> >>>>> >> > >> >> Can someone tell me which classes from the list >> >>>>> >> > >> below changed API between >> >>>>> >> > >> >> 0.20.6 and 0.90.1 ? >> >>>>> >> > >> >> http://pastebin.com/TkZfPt52 >> >>>>> >> > >> >> >> >>>>> >> > >> >> Thanks >> >>>>> >> > >> >> >> >>>>> >> > >> > >> >>>>> >> > >> > >> >>>>> >> > >> > >> >>>>> >> > >> > -- >> >>>>> >> > >> > Todd Lipcon >> >>>>> >> > >> > Software Engineer, Cloudera >> >>>>> >> > >> > >> >>>>> >> > >> >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > >> >>>>> >> >> >>>>> >> >> >>>>> >> >> >>>>> >> -- >> >>>>> >> Todd Lipcon >> >>>>> >> Software Engineer, Cloudera >> >>>>> >> >> >>>>> > >> >>>>> >> >>>> >> >>>> >> >>>> >> >>>> -- >> >>>> Todd Lipcon >> >>>> Software Engineer, Cloudera >> >>>> >> >>> >> >>> >> >> >> > >> >