Reviewing before commit and stability minibikeshed (Re: svn commit: r243627 - head/sys/kern)

Garrett Cooper yanegomi at gmail.com
Thu Nov 29 03:49:50 UTC 2012


On Nov 28, 2012, at 9:39 AM, Alfred Perlstein <bright at mu.org> wrote:

> On 11/28/12 12:01 AM, Andre Oppermann wrote:
>> On 28.11.2012 00:59, Robert N. M. Watson wrote:
>>> 
>>> On 27 Nov 2012, at 23:29, Andre Oppermann wrote:
>>> 
>>>>>>>>> Andre.. this breaks incoming connections.  TCP is immediately reset and never even gets to the
>>>>>>>>> listener process.  You need to back out of fix this urgently please.
>>>>>>>> 
>>>>>>>> I just found out and fixed it.  Sorry for the breakage.
>>>>>>> 
>>>>>>> I'd like to see a much more thorough use of "Reviewed by:" in socket and TCP-related commits -- this
>>>>>>> is very sensitive code, and a second pair of eyes is always valuable.  Post-commit review is not a
>>>>>>> substitute.  Looking back over similar changes in the socket code over the last two years, I see
>>>>>>> that almost all have reviewers, so I think it would be reasonable to consider it mandatory for these
>>>>>>> subsystems at this point.  The good news is that we have lots of people with expertise in it.
>>>>>> 
>>>>>> Good to see you becoming more active again. :-)  And yes,
>>>>>> you have a point there.
>>>>> 
>>>>> Yes -- this is only about three weeks old, however; for the prior six-twelve months, I've been fairly non-existent in FreeBSD-land due to outside obligations :-).
>>>> 
>>>> Just saw that I did indeed send you a review request three weeks ago. ;-)
>>>> At the end of a rather long email though.
>>> 
>>> Yes, indeed -- no patch was attached, and it followed quite a long e-mail on your plans to rewrite the TCP stack. I'm afraid that went onto the "read this later as time permits" pile as I was at a conference, rather than the fast-path "oh, quickly review this patch" pile. However, simply committing the patch rather than trying a bit harder to find a reviewer isn't the right answer either. To maximise the likelihood of a review, construct an e-mail with a subject line like "Review request: (patch description)", attach the patch, and include a proposed commit message.
>> 
>> Yes, and I didn't really expect you to answer (at least quickly) during
>> your FreeBSD hiatus.  So it was seeking review by chance.
>> 
>> Alas I found and fixed the bug myself within 2.5hrs.  While not optimal,
>> a sign of poor prior testing and too much trust into the submitter of
>> the patch it wasn't an earth shattering event.  Doesn't distract from
>> the fact that it was mea culpa in any case though.
>> 
>> For prior review of kern_socket* and netinet/tcp_* related changes it has
>> been on and off by various committers over the past year.  If we do have
>> a policy of prior review required then it should be made official and
>> codified in MAINTAINERS and universally applied to all.
> Personally I don't think we need any more anchors attached to people's feet when developing FreeBSD.
> 
> Mistakes will happen, they will happen in head.  Slowing down the process to eliminate mistakes only works to slow down change and give a false sense of "fixing stability" when in fact the only thing "stable" is the slowness of submitting code.

Organizing cabals of people to review code is the best way to go. It's an extension of the maintainers concept applied in a better fashion because it encourages several developers to provide input on a series of commits instead of one.

I know it's sort of done in some groups [based on commit messages], but it would be nice to have it better formalized and socialized as well. Things like this are helpful for other potential freebsd contributors/developers (like some folks I work with for instance!).

An extension of this code review idea would probably be reviewboard. Email based review is doable and a lot of OSS groups use it, but there are some nice points to using a more advanced tool, in particular:
1. Colorized diffs.
2. Various diff niceties (hide white space changes, etc).
3. It does a reasonable job at establishing code context (code block A has moved to B).

There are 2 FreeBSD corporate consumers that use it, with at least one other group considering it, and there are probably more groups that using it as well. Plus it integrates well with p4, and does pretty well with git and svn.

Thanks!
-Garrett


More information about the svn-src-all mailing list