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