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.

it makes sense this analog doesn't apply to all contrib projects -
perhaps they shouldn't be in contrib to begin with? 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).

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.


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