You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by Leif Hedstrom <zw...@apache.org> on 2010/01/31 05:54:41 UTC
Dev branch "checkin" policy
Hi all,
I'm a little worried about the lack of checkin and review process on
the dev branch, that we semi-agreed on for TS development. This is
partially my fault, I initially assumed the dev branch was going to be
for John's cache work, but it got turned into a kitchen sink for lots of
development. As such, I'm concerned how we are going to merge this back
to trunk. I guess it's up to the people working on the dev branch, but
I see three possible alternatives:
1) Review of bugs / fixes going into dev branch as they are prepared,
before checkins (we'd have to retrofit a few commits that have already
happened).
2) Do a complete review of the dev branch before we merge to trunk, as
one big "review". This would be massive undertaking...
3) Owners of code on trunk reopens bugs, with patches, and requests
review for migration to trunk. I.e. single bugs / commits are migrated
to trunk as requested by the people who have committed to dev branch.
Please vote / pick one :). My +1 is for #1. In the future, I hope we can
avoid a "dev" branch entirely, and only use branches for single, large
feature rewrites (e.g. one branch for rewriting the HTTP SM). We'd
still, of course, create release branches (e.g. release_2_0,
release_2_1, etc).
Also, remember the trunk is in no way closed, yet. Don't assume that all
fixes has to go into dev, again, it was primarily created to avoid a
massive and potentially disruptive change to land on trunk before the
2.0 release. I think several of the bugs committed to dev branch should
have gone through reviews and checkins straight to the trunk.
I'm going to work on finalizing a "roadmap" for getting 2.0 for Q1,
based on our Hackathon discussions. I hope to have that out early next
week, together with bug lists etc.
Cheers,
-- Leif
Re: Dev branch "checkin" policy
Posted by Miles Libbey <mi...@yahoo-inc.com>.
Perhaps we should add a new Jira "workflow" to help highlight tickets
that need code review. Our process is a bit different than the standard
Jira flow
(http://www.atlassian.com/software/jira/docs/v3.13/default_workflow.html):
1) Ticket opened
2) Ticket Assigned to a developer
3) Ticket is worked on -- move to "in progress"
4) Submit patch, request code review
[repeat steps 3-4 as needed]
5) Code is accepted, and committed. Ticket marked fixed.
The current Jira default workflow has 1,2,and 5. We should be able add
3 and 4
(http://www.atlassian.com/software/jira/docs/v3.13/workflow.html), which
(hopefully) would help highlight the tickets that are awaiting code review.
Miles
Leif Hedstrom may have written the following on 1/31/10 10:59 AM:
> On 01/31/2010 12:13 AM, John Plevyak wrote:
>> I started out by posting all my checkins as patches.
>>
>> I got few comments/reviews which, in the interest of progress,
>> I took as approval.
>>
>
> Yes, those were approvals.
>
>> Here is my suggestion. We need to have folks claim modules and that
>> means promise to review patches in a timely manner (say a week).
>>
>
> 100% agree. The system "fell apart" for two reasons: 1) Reviews were not
> happening in a timely manner 2) In some cases, I got the impression that
> "dev" branch was considered experimental and not under normal review
> rules. It is (or was) up to each committer to request (and hunt down)
> someone for a review. In many cases, this did happened and worked, but
> sometimes things fell through the crack.
>
> As such, I'd like to make the above a rule. If a patch has been
> proposed, and the proposer requested reviews properly, if it's not
> reviewed within two weeks (I think one week is a bit aggressive, not
> allowing for vacation etc.), an implicit approval for checkin is
> granted. We should strongly recommend that reviews happens within a week
> though, if at all possible.
>
>>
>> How about this: I will review all changes to the
>> iocore modules: eventsystem/net/aio/cache/cluster/hostdb/dns/libinktomi++,
>> and, so long as I am in town, I will do it within a week.
>>
>
> Great! We need to make a Wiki page with module owner information, we
> obviously need a bunch of people willing to review code. I think we
> should aim to have 2 reviewers per larger piece of code base, maybe not
> initially, but long term. Also, any committer should consider
> him/herself empowered to review any code.
>
> Finally, I hope no one took my email the wrong way, I'm as much (or
> more) at "fault" here as anyone, so lets work together to get the
> process to work like we want it to.
>
> Cheers!
>
> -- Leif
>
Re: Dev branch "checkin" policy
Posted by Leif Hedstrom <zw...@apache.org>.
On 01/31/2010 12:13 AM, John Plevyak wrote:
> I started out by posting all my checkins as patches.
>
> I got few comments/reviews which, in the interest of progress,
> I took as approval.
>
Yes, those were approvals.
> Here is my suggestion. We need to have folks claim modules and that
> means promise to review patches in a timely manner (say a week).
>
100% agree. The system "fell apart" for two reasons: 1) Reviews were not
happening in a timely manner 2) In some cases, I got the impression that
"dev" branch was considered experimental and not under normal review
rules. It is (or was) up to each committer to request (and hunt down)
someone for a review. In many cases, this did happened and worked, but
sometimes things fell through the crack.
As such, I'd like to make the above a rule. If a patch has been
proposed, and the proposer requested reviews properly, if it's not
reviewed within two weeks (I think one week is a bit aggressive, not
allowing for vacation etc.), an implicit approval for checkin is
granted. We should strongly recommend that reviews happens within a week
though, if at all possible.
>
> How about this: I will review all changes to the
> iocore modules: eventsystem/net/aio/cache/cluster/hostdb/dns/libinktomi++,
> and, so long as I am in town, I will do it within a week.
>
Great! We need to make a Wiki page with module owner information, we
obviously need a bunch of people willing to review code. I think we
should aim to have 2 reviewers per larger piece of code base, maybe not
initially, but long term. Also, any committer should consider
him/herself empowered to review any code.
Finally, I hope no one took my email the wrong way, I'm as much (or
more) at "fault" here as anyone, so lets work together to get the
process to work like we want it to.
Cheers!
-- Leif
Re: Dev branch "checkin" policy
Posted by John Plevyak <jp...@acm.org>.
I started out by posting all my checkins as patches.
I got few comments/reviews which, in the interest of progress,
I took as approval.
Here is my suggestion. We need to have folks claim modules and that
means promise to review patches in a timely manner (say a week).
Having a procedure of making a jira issue
and then having a patch in jira doesn't change the essential
issue we have to have folks willing to put out the effort
to comment on the issue and review the patches otherwise it is just
overhead without any benefit.
How about this: I will review all changes to the
iocore modules: eventsystem/net/aio/cache/cluster/hostdb/dns/libinktomi++,
and, so long as I am in town, I will do it within a week.
I need some other folks to do these as well so that they can review my changes.
I suggest that we have a list somewhere (wiki?) where these the module owners are listed.
We can add a "reviewer" to a checkin and include "unavailable" if there is no review
within a week which might encourage someone to volunteer.
This is just part of the growing process for the project. We need to get
a good eco system going which means modules have to find folks willing to take
responsibility for them.
Also, there is a good deal of cleanup and reorganization needed which is going
to require more timely review of far reaching changes in the short term than
when the codebase is better modularized. The alternative is short term
instability. One way of dealing with that is regressions and unit tests which
is one of the things I am working on in the cache code.
I am fine with pre or post review before lockdown of the modules I will review
because I will be reviewing all the changes eventually. For large changes I would
prefer that they be done on a branch so that I can follow the development
and make comments as the work is progressing. It was my thought that this
is what the dev branch would be about. I am a bit concerned because it seems
like what Leif is saying is that nobody is reviewing the changes. That
was not the intent. Quite the opposite in fact. Branches should be a safe
place to make checkins to encourage pro-active comment and permit reworking
off the trunk.
Comments?
john
On 1/30/2010 8:54 PM, Leif Hedstrom wrote:
> Hi all,
>
> I'm a little worried about the lack of checkin and review process on
> the dev branch, that we semi-agreed on for TS development. This is
> partially my fault, I initially assumed the dev branch was going to be
> for John's cache work, but it got turned into a kitchen sink for lots of
> development. As such, I'm concerned how we are going to merge this back
> to trunk. I guess it's up to the people working on the dev branch, but
> I see three possible alternatives:
>
> 1) Review of bugs / fixes going into dev branch as they are prepared,
> before checkins (we'd have to retrofit a few commits that have already
> happened).
>
> 2) Do a complete review of the dev branch before we merge to trunk, as
> one big "review". This would be massive undertaking...
>
> 3) Owners of code on trunk reopens bugs, with patches, and requests
> review for migration to trunk. I.e. single bugs / commits are migrated
> to trunk as requested by the people who have committed to dev branch.
>
>
> Please vote / pick one :). My +1 is for #1. In the future, I hope we can
> avoid a "dev" branch entirely, and only use branches for single, large
> feature rewrites (e.g. one branch for rewriting the HTTP SM). We'd
> still, of course, create release branches (e.g. release_2_0,
> release_2_1, etc).
>
> Also, remember the trunk is in no way closed, yet. Don't assume that all
> fixes has to go into dev, again, it was primarily created to avoid a
> massive and potentially disruptive change to land on trunk before the
> 2.0 release. I think several of the bugs committed to dev branch should
> have gone through reviews and checkins straight to the trunk.
>
> I'm going to work on finalizing a "roadmap" for getting 2.0 for Q1,
> based on our Hackathon discussions. I hope to have that out early next
> week, together with bug lists etc.
>
> Cheers,
>
> -- Leif