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 >>> >> >> >
