Jonathan:
If the feature is very big and cannot be partitioned, I agree with what you
said.

I can think of few examples of such features. Take a look at HBASE-2856,
HBASE-451, etc. They got completed without resorting to feature branch.

Cheers

On Fri, Dec 16, 2011 at 10:43 AM, Jonathan Hsieh <j...@cloudera.com> wrote:

> I'll make a few points and then leave it to you all to decide on how
> to proceed.  (Ideally, Lui Jia would chime in as well!)
>
> I agree about the perceived importance of being in an asf repo, which
> is why being a branch in the asf repo seems like an appealing approach
> -- it addresses the desire to be inclusive, and to address the
> concerns of more conservative members of the community.
>
> I'd argue that difficult isn't the same as impossible -- other
> projects have managed branches just fine.  Hadoop is an example that
> has had many branches (HA, append, security, etc) that
> for-better-or-for-worse eventually were or will be merged or
> abandoned.
>
> A feature branch allows the patch to get in which allows other folks
> to work on the patch.  Instead of a single mega-patch by a single
> person, the basics could be committed in the branch and follow on work
> could be broken up into manageably sized, quicker to review patches
> done by multiple people.  When it is ready, the merge happens.
> Admittedly I've only done merges in github-land, but since most of us
> I assume use git, the merge could happen there and could potentially
> just be applied to svn as a series of patches on mainline trunk when
> it is time.
>
> The feature branches that have the most merge pains ones that have
> cross-cutting changes.  In the particular case of HBASE-4120, the code
> only touches 3-4 existing files (RPC related) so I'd think the merge
> pain is relatively low (unless we change the rpc servers anytime
> soon).
>
> Jon.
>
> On Dec 14, 2011, at 12:13, Ted Yu <yuzhih...@gmail.com> wrote:
>
> > I agree with Andy.
> >
> > Maintaining a patch that cleanly applies to TRUNK is a lot easier.
> >
> > Cheers
> >
> > On Wed, Dec 14, 2011 at 11:41 AM, Andrew Purtell <apurt...@apache.org
> >wrote:
> >
> >> We have discussed feature branches in the past, and even attempted it
> once
> >> or twice (if I recall correctly, both with coprocessors and security),
> but
> >> Subversion merge support is lacking. I assert ASF tooling is suboptimal
> for
> >> managing a long lived feature branch. I'm happy to be properly educated
> if
> >> you disagree.
> >>
> >> Otherwise, this leads the discussion to external hosting of feature
> >> branches under development, where there is more appropriate tooling,
> such
> >> as up on GitHub.
> >>
> >> Trend put up our security work on a public GitHub repository. I
> routinely
> >> advertised it in any security related discussion. However, it was
> ignored
> >> by the community: As far as I know, nobody ever checked it out and tried
> >> it. Only code in the ASF repo seemed to matter.
> >>
> >> Best regards,
> >>
> >>
> >>   - Andy
> >>
> >> Problems worthy of attack prove their worth by hitting back. - Piet Hein
> >> (via Tom White)
> >>
> >>
> >> ----- Original Message -----
> >>> From: Jonathan Hsieh <j...@cloudera.com>
> >>> To: dev@hbase.apache.org
> >>> Cc: Andrew Purtell <apurt...@apache.org>
> >>> Sent: Tuesday, December 13, 2011 11:57 AM
> >>> Subject: Re: Code review request for hbase-4120 table priority
> >>>
> >>> Note: I've only done a quick look at the jira and the code.  The high
> >> level
> >>> design document/approach seems reasonable and I think most agree that
> >> this
> >>> is a useful feature and that a lot of effort has gone into it.
> >>>
> >>> The feature is off by default -- I can see one main difference in this
> >>> situation compared to other major newish generally-considered
> >> experimental
> >>> or incomplete features (replication, off-heap slab cache, online schema
> >>> changes).  This feature doesn't have one of the current HBase
> committers
> >>> using/testing it in their production  environments or in their test
> >>> environment.
> >>>
> >>> This seems perfect for *a feature branch* as we talked briefly about at
> >> the
> >>> Pow-wow.  There seem to be some problems identified that will result in
> >>> follow on issues (races mentioned).  Using a branch would:
> >>> * make it available at apache allows devs to test it
> >>> * allows a committer who is championing this to test it by using it
> more
> >>> and to iron out glaring problems in environment,
> >>> * encourages and shepards the contributor allowing them to justify
> >>> continued effort,
> >>> * allows all of us to defer the decision to fold the feature into 0.94
> >> (or
> >>> 0.96, or later) when more folks are familiar or comfortable with it.
> >>>
> >>> Who knows, maybe some of the TaoBao folks will eventually become
> >> committers.
> >>>
> >>> Jon.
> >>>
> >>> On Tue, Dec 13, 2011 at 12:42 AM, <yuzhih...@gmail.com> wrote:
> >>>
> >>>> Thanks for the suggestion, Lars.
> >>>> The original scope for 4120 is bigger than the latest patch which only
> >>>> covers table priorities.
> >>>>
> >>>> Let's perform more reviews for the current patch. We can create more
> >>>> subtasks for the umbrella feature.
> >>>>
> >>>> Cheers
> >>>>
> >>>>
> >>>>
> >>>> On Dec 12, 2011, at 11:23 PM, lars hofhansl <lhofha...@yahoo.com>
> >>> wrote:
> >>>>
> >>>>> While I haven't looked (in depth) at the patch, yet, this is
> >>> definitely
> >>>> a feature that will be extremely helpful
> >>>>> for Salesforce's multitenant architecture to isolate tenants and
> >>>> services from each other.
> >>>>>
> >>>>> While we don't have HBase in our production data centers, yet
> >>> (working
> >>>> on it), I am certain that we will use this feature
> >>>>> eventually.
> >>>>>
> >>>>> Would it help to break the patch into multiple smaller patches?
> >>>>>
> >>>>> Off the bat I think of:
> >>>>> 1. the grouping logic
> >>>>> 2. regionserver configuration (caching, etc) per group
> >>>>> 3. table priorities
> >>>>> 4. etc... (folks who have actually looked at the patch can probably
> >>>> identify better demarcations between the aspects of this change.)
> >>>>>
> >>>>> That would certainly make it more manageable for me - personally - to
> >>>> review the code.
> >>>>>
> >>>>> -- Lars
> >>>>>
> >>>>>
> >>>>> ----- Original Message -----
> >>>>> From: Todd Lipcon <t...@cloudera.com>
> >>>>> To: dev@hbase.apache.org; Andrew Purtell <apurt...@apache.org>
> >>>>> Cc:
> >>>>> Sent: Monday, December 12, 2011 4:55 PM
> >>>>> Subject: Re: Code review request for hbase-4120 table priority
> >>>>>
> >>>>> On Mon, Dec 12, 2011 at 4:36 PM, Andrew Purtell
> >>> <apurt...@apache.org>
> >>>> wrote:
> >>>>>>
> >>>>>> HBase as a project should not have as a criteria for inclusion of
> >>> some
> >>>> feature that Cloudera and SU and Facebook run it. Core managed to
> >> escape
> >>>> Yahoo. Let's not run history in reverse here in HBase land. And,
> >>> actually,
> >>>> this makes it worse, because the the occurrence that a number of core
> >> HBase
> >>>> users (multiple) will all need something is substantially less likely
> >> than
> >>>> if one might find it useful; or, maybe, only users outside of those
> >> with
> >>>> such self-appointed attitude, yet perhaps a community multiples in
> >> size of
> >>>> "core users".
> >>>>>
> >>>>> It's not about Cloudera/SU/FB - it's about code that will be
> >>> supported
> >>>>> by people who are committed to the project. TrendMicro certainly fits
> >>>>> the bill. I of course mean no offense to Lu Jia, but neither he nor
> >>>>> Taobao has made continued contributions in the past - just one other
> >>>>> bug fix beyond the HBASE-4120 project.
> >>>>>
> >>>>> If we have a few of the core people committed to running this in
> >>>>> production and supporting it in the future, I'm all for it (just
> >>> like
> >>>>> I am +1 on security). I just want to avoid repeating mistakes like
> >> the
> >>>>> Avro server which isn't really supported despite being in our
> >>>>> codebase. (You'll note this was a Cloudera contribution but from a
> >>>>> contributor who was doing this in his spare time rather than part of
> >>>>> job responsibilities, and we have never run it in production
> >>>>> scenarios)
> >>>>>
> >>>>> I am consistently conservative on what goes into the project because
> >>>>> we have to stand behind what we release. I certainly don't think
> >>> _all_
> >>>>> core people should find every feature useful (eg REST and Thrift are
> >>>>> examples of some things which are useless to many but I think make
> >>>>> sense). But if _no_ core people see a feature as a requirement then
> >>>>> I'd rather let it bake until we have many people requesting it.
> >>>>> Otherwise people download HBase, try out these "fringe"
> >>> features, and
> >>>>> get a bad taste in their mouth when they've bit-rot across several
> >>>>> versions of little usage.
> >>>>>
> >>>>> -Todd
> >>>>> --
> >>>>> Todd Lipcon
> >>>>> Software Engineer, Cloudera
> >>>>>
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> // Jonathan Hsieh (shay)
> >>> // Software Engineer, Cloudera
> >>> // j...@cloudera.com
> >>>
> >>
>

Reply via email to