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

Reply via email to