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 <[email protected]> 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 <[email protected]> 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 <[email protected]> wrote: >> > Looking at what Stack is doing in >> > https://issues.apache.org/jira/browse/HBASE-1502, I think we can use the >> > following appoach: >> > 1. create the annotations below >> > 2. Committers who actively refactor code place proper annotation on the >> > 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 <[email protected]> wrote: >> > >> >> The following annotation can only be attached by HBase committer(s): >> >> >> >> >> >> Stability: >> >> - Unstable: may change and likely to change between point releases, >> >> - Evolving: possibly change between point releases but unlikely, could >> >> well change between bigger releases >> >> >> >> Contributors would have a hard time keeping up with current development. >> >> >> >> >> >> On Wed, Feb 16, 2011 at 12:46 PM, Ted Yu <[email protected]> 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 <[email protected]> >> wrote: >> >>> >> >>>> On Wed, Feb 16, 2011 at 12:16 PM, Ryan Rawson <[email protected] >> >wrote: >> >>>> >> >>>>> Sounds like Ted volunteered to do it! >> >>>>> >> >>>> >> >>>> Woohoo, thanks Ted! >> >>>> >> >>>> -Todd >> >>>> >> >>>> >> >>>>> On Wed, Feb 16, 2011 at 12:15 PM, Ted Yu <[email protected]> >> wrote: >> >>>>> > Definitely. >> >>>>> > >> >>>>> > On Wed, Feb 16, 2011 at 11:57 AM, Todd Lipcon <[email protected]> >> >>>>> 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: >> >>>>> >> - Unstable: may change and likely to change between point >> releases, >> >>>>> >> - Evolving: possibly change between point releases but unlikely, >> >>>>> could >> >>>>> >> well change between bigger releases >> >>>>> >> - Stable: hasn't changed in a long time, unlikely to change >> >>>>> >> >> >>>>> >> Audience: Private, Limited, Public >> >>>>> >> - Private: not meant for users, even if it's "Stable" we might >> >>>>> change it >> >>>>> >> and break you without a deprecation path >> >>>>> >> - Limited: meant only for a certain set of specified projects (eg >> we >> >>>>> might >> >>>>> >> say "this API is only for use by Hive, and we'll change it so long >> as >> >>>>> the >> >>>>> >> hive people are OK with it") >> >>>>> >> - Public: won't change without deprecation path for one major >> >>>>> release >> >>>>> >> >> >>>>> >> He also built some cool tools to do jdiff and javadoc with these >> >>>>> >> 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 <[email protected] >> > >> >>>>> 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_org.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 < >> >>>>> [email protected]> >> >>>>> >> > wrote: >> >>>>> >> > > I ran jdiff by hand. See: >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > >> >>>>> >> https://tm-files.s3.amazonaws.com/hbase/jdiff-hbase-0.90.1/changes.html >> >>>>> >> > > >> >>>>> >> > > Best regards, >> >>>>> >> > > >> >>>>> >> > > - Andy >> >>>>> >> > > >> >>>>> >> > > Problems worthy of attack prove their worth by hitting back. >> >>>>> >> > > - Piet Hein (via Tom White) >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > --- On Wed, 2/16/11, Lars George <[email protected]> >> wrote: >> >>>>> >> > > >> >>>>> >> > >> From: Lars George <[email protected]> >> >>>>> >> > >> Subject: Re: API changes between 0.20.6 and 0.90.1 >> >>>>> >> > >> To: [email protected] >> >>>>> >> > >> Date: Wednesday, February 16, 2011, 1:22 AM >> >>>>> >> > >> +1, I like that idea. >> >>>>> >> > >> >> >>>>> >> > >> On Wed, Feb 16, 2011 at 2:43 AM, Todd Lipcon < >> [email protected] >> >>>>> > >> >>>>> >> > >> 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 < >> [email protected]> >> >>>>> >> > >> 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 >> >>>> >> >>> >> >>> >> >> >> > >> >
