[Gluster-devel] Reducing merge conflicts
Atin Mukherjee
amukherj at redhat.com
Fri Jul 8 06:10:42 UTC 2016
How about having "review marathon" once a week by every team? In past this
has worked well and I don't see any reason why can't we spend 3-4 hours in
a meeting on weekly basis to review incoming patches on the component that
the team owns.
On Fri, Jul 8, 2016 at 11:23 AM, Poornima Gurusiddaiah <pgurusid at redhat.com>
wrote:
>
> Completely agree with your concern here. Keeping aside the regression
> part, few observations and suggestions:
> As per the Maintainers guidelines (
> https://gluster.readthedocs.io/en/latest/Contributors-Guide/Guidelines-For-Maintainers/
> ):
>
> a> Merge patches of owned components only.
> b> Seek approvals from all maintainers before merging a patchset
> spanning multiple components.
> c> Ensure that regression tests pass for all patches before merging.
> d> Ensure that regression tests accompany all patch submissions.
> e> Ensure that documentation is updated for a noticeable change in
> user perceivable behavior or design.
> f> Encourage code unit tests from patch submitters to improve the
> overall quality of the codebase.
> g> Not merge patches written by themselves until there is a +2 Code
> Review vote by other reviewers.
>
> Clearly a, b, are not being strictly followed, because of multiple reasons.
> - Not every component in Gluster has a Maintainer
> - Its getting difficult to get review time from maintainers as they are
> maintainers for several component, and they are also active developers.
> - What is enforced by mere documentation of procedure, is hard to
> implement.
>
> Below are the few things that we can do to reduce our review backlog:
> - No time for maintainers to review is not a good enough reason to bitrot
> patches in review for months, it clearly means we need additional
> maintainers for that component?
> - Add maintainers for every component that is in Gluster(atleast the ones
> which have incoming patches)
> - For every patch we submit we add 'component(s)' label, and evaluate if
> gerrit can automatically add maintainers as reviewers, and have another
> label 'Maintainers ack' which needs to be present for any patch to be
> merged.
>
I believe this is something which Nigel is already working on.
> - Before every major(or minor also?) release, any patch that is not making
> to the release should have a '-1' by the maintainer or the developer
> themselves stating the reason(preferably not no time to review).
>
IMO, it should be the other way around, if the fix/RFE is a must for the
upcoming release, it should be attached to the tracker bug to ensure
release is blocked with out the patch. Having a -1 just for not targeting
it for a specific release doesn't make sense to me.
> The release manager should ensure that there are no patches in below
> gerrit search link provided by Jeff.
>
> Any thoughts?
>
> Regards,
> Poornima
>
> ----- Original Message -----
> > From: "Jeff Darcy" <jdarcy at redhat.com>
> > To: "Gluster Devel" <gluster-devel at gluster.org>
> > Sent: Friday, July 8, 2016 2:02:27 AM
> > Subject: [Gluster-devel] Reducing merge conflicts
> >
> > I'm sure a lot of you are pretty frustrated with how long it can take to
> get
> > even a trivial patch through our Gerrit/Jenkins pipeline. I know I am.
> > Slow tests, spurious failures, and bikeshedding over style issues are all
> > contributing factors. I'm not here to talk about those today. What I am
> > here to talk about is the difficulty of getting somebody - anybody - to
> look
> > at a patch and (possibly) give it the votes it needs to be merged. To
> put
> > it bluntly, laziness here is *killing* us. The more patches we have in
> > flight, the more merge conflicts and rebases we have to endure for each
> one.
> > It's a quadratic effect. That's why I personally have been trying really
> > hard to get patches that have passed all regression tests and haven't
> gotten
> > any other review attention "across the finish line" so they can be merged
> > and removed from conflict with every other patch still in flight. The
> > search I use for this, every day, is as follows:
> >
> >
> http://review.gluster.org/#/q/status:open+project:glusterfs+branch:master+label:CentOS-regression%253E0+label:NetBSD-regression%253E0+-label:Code-Review%253C0
> >
> > That is:
> >
> > open patches on glusterfs master (change project/branch as
> appropriate to
> > your role)
> >
> > CentOS and NetBSD regression tests complete
> >
> > no -1 or -2 votes which might represent legitimate cause for delay
> >
> > If other people - especially team leads and release managers - could
> make a
> > similar habit of checking the queue and helping to get such "low hanging
> > fruit" out of the way, we might see an appreciable increase in our
> overall
> > pace of development. If not, we might have to start talking about
> mandatory
> > reviews with deadlines and penalties for non-compliance. I'm sure nobody
> > wants to see their own patches blocked and their own deadlines missed
> > because they weren't doing their part to review peers' work, but that's a
> > distinct possibility. Let's all try to get this train unstuck and back
> on
> > track before extreme measures become necessary.
> > _______________________________________________
> > Gluster-devel mailing list
> > Gluster-devel at gluster.org
> > http://www.gluster.org/mailman/listinfo/gluster-devel
> >
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-devel/attachments/20160708/4cc440cb/attachment.html>
More information about the Gluster-devel
mailing list