What does it take to move a contrib into core?

I would think that a committer must be able to fix any problem with it
at minimum...

On Sat, Jan 30, 2010 at 4:57 PM, Stack <st...@duboce.net> wrote:
> On Thu, Jan 28, 2010 at 3:08 PM, Joydeep Sarma <jsensa...@gmail.com> wrote:
>> fwiw - i agree with Dhruba's take. i can't imagine (for example)
>> hadoop shipping without hadoop-streaming (which is contrib). and it's
>> awesome that hadoop changes that break streaming are caught early and
>> often.
>
> I suggest that contribs we deem critical should be pulled up out of
> contrib and moved up to core.
>
> Regards changes in core breaking contrib early, contribs moved out to
> other repositories can retain this 'benefit' by building against
> snapshots of the core TRUNK via built-in ivy/maven facility, only now,
> the onus for updating the moved contrib is no longer inline with core
> dev and instead has been shifted  to the moved contrib maintainer.  It
> is up to him or her to update to match core changes at their pleasure
> or to report on core changes that cause fundamental distress in
> contrib.
>
>
>> it makes sense this analog doesn't apply to all contrib projects -
>> perhaps they shouldn't be in contrib to begin with?
>
> Yes.  There is some of this going on.  IMO, all currently have
> sufficient character living apart outside contrib.
>
>
> alternatively - to
>> extend Dhruba's idea - one could break up contrib projects into those
>> that are critical (like streaming would be to hadoop and i imagine the
>> replication stuff would be to hbase) - and those that are non-critical
>> (and not build these by default).
>>
> We could do this but to my mind, I can't help but think that we are
> just piling the work integrating contribs to the period that just
> precedes a release.
>
>
>> the only reason to have non-critical contrib projects in the codebase
>> seems to be to give young/new projects exposure. i am not sure whether
>> this is a good enough reason - perhaps those with some historical
>> perspective have better idea on this.
>>
>
> You have it right.  I think it fair to say that that explains how we
> ended up with our current set of contribs.  At least one contrib has
> been in hbase more than a year now.  Its time we held a graduation for
> it at least?
>
> St.Ack
>
>>
>> On Thu, Jan 28, 2010 at 2:35 PM, Ryan Rawson <ryano...@gmail.com> wrote:
>>> Part of the problem with contrib is fixing the deeper problems during
>>> major version changes (eg: new file format in 0.20) requires
>>> specialized knowledge that only the contrib author has. Then they must
>>> write a patch, submit it to a hbase committer, etc.  If the contrib
>>> was in a non-ASF repo, the author could fix it much faster.
>>>
>>> That's my theory at least?
>>>
>>> On Thu, Jan 28, 2010 at 2:27 PM, Dhruba Borthakur <dhr...@gmail.com> wrote:
>>>> Hi stack,
>>>>
>>>> I have seen this issue crop up in the HDFS  repository too.
>>>>
>>>> The issue that you have brought up is that code changes to core sometimes
>>>> needs lots of changes to contrib to make it compile. This is a big problem,
>>>> especially when all developers are not intricately familiar with each and
>>>> every contrib module. However, the big plus is that when a HBase release is
>>>> made, it has all the contrib modules in it, and it makes it easier for a
>>>> user to start using any of those contrib modules right away. Can we get the
>>>> best of both worlds if we do something like this:
>>>>
>>>>  Contribs are not first-class citizens. The build script can be setup to
>>>> ignore build failures in contrib modules. The hope is that when a release 
>>>> is
>>>> about to be cut, contrib owners will submit fixes to any build problems if
>>>> they want their contrib to be shipped as part of the Hbase release. will
>>>> this solve your problem?
>>>>
>>>> thanks,
>>>> dhruba
>>>>
>>>>
>>>>
>>>> On Thu, Jan 28, 2010 at 12:42 PM, Ryan Rawson <ryano...@gmail.com> wrote:
>>>>
>>>>> +1
>>>>>
>>>>> I think when we are ready, we should publish the replication as a
>>>>> contrib up on github. I really like github, its way better than any
>>>>> other system I've seen (in part due to git of course).
>>>>>
>>>>> I do like the notion of officially released contribs that are included
>>>>> at specific version numbers with the hbase release. Hbase core 0.21.0
>>>>> with TH, ITH at version 0.1 or whatever.
>>>>>
>>>>> -ryan
>>>>>
>>>>> On Thu, Jan 28, 2010 at 12:38 PM, Stack <st...@duboce.net> wrote:
>>>>> > I'd like to start a discussion on moving src/contrib out of hbase.
>>>>> > Keep reading if you have an opinion.
>>>>> >
>>>>> > I'd like to suggest that we undo the notion of hbase contribs for the
>>>>> > following reasons:
>>>>> >
>>>>> > + In my experience, they present a friction on changes to core as any
>>>>> > significant core change tends to ripple down into the contribs whether
>>>>> > its code or infrastructure/build changes.  Usually what happens then
>>>>> > is a non-expert in the contrib code is making edits -- often radical
>>>>> > -- to code they are not completely up on and are a little frustrated
>>>>> > that they have to do it.  Bad.
>>>>> > + A few of our contribs are maintained by non-committers.  This means
>>>>> > it takes a committers time getting in updates.  The owner is at mercy
>>>>> > of the committer making wanted changes.  The committer is consumed
>>>>> > reviewing and making update.  This indirection hurts at both ends (We
>>>>> > could discuss making contrib owners committers on their contrib only
>>>>> > but that'd be a bit of bureaucratic nightmare and a burden on the
>>>>> > hadoop pmc to vote on granting access to a subprojects, contrib.  Its
>>>>> > tough enough getting hadoop pmc to vote on hbase committers.  There is
>>>>> > no precedent in other project, to my knowledge).
>>>>> > + Contribs and core evolve at different rates.  They should not be
>>>>> > constrained by core release schedule (or the opposite, core should not
>>>>> > be held up because fixes in contrib are wanting).
>>>>> >
>>>>> > I suggest that current contribs be moved out of hbase up to standalone
>>>>> > github or google code projects (witness how hbql does it).  Previous
>>>>> > to our move to Ivy (and possibly soon, Maven), asking contribs be
>>>>> > standalone was a pain as they'd have to check in hbase jars and all of
>>>>> > dependencies and then move these forward over time.  Now that we are
>>>>> > Ivy-ized, contribs just need write a bit of ivy.xml and it'll take
>>>>> > care of pulling dependencies.
>>>>> >
>>>>> > I'd imagine support for contribs would go on as it does now with
>>>>> > queries up on hbase mailing list and help out on IRC.  We'd give
>>>>> > contribs first-class billing up on home page.  Popular contribs might
>>>>> > run their own mailing lists, etc...
>>>>> >
>>>>> > We should chat but some contribs should be pulled up into core.
>>>>> > Thrift was core.  Talk was to move current thrift update out to
>>>>> > contrib.  I think now it should just stay in core.  Stargate perhaps
>>>>> > should come up into core?
>>>>> >
>>>>> > What do folks think?
>>>>> > St.Ack
>>>>> >
>>>>> > P.S. I've fostered the contrib notion in the past.  I've since had a
>>>>> > change of heart.  Please pardon my flip.
>>>>> >
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Connect to me at http://www.facebook.com/dhruba
>>>>
>>>
>>
>

Reply via email to