* Pull requests : speed up the reviews
@ 2014-11-08 17:32 Loic Dachary
2014-11-09 12:08 ` Joao Eduardo Luis
2014-11-10 19:07 ` Gregory Farnum
0 siblings, 2 replies; 8+ messages in thread
From: Loic Dachary @ 2014-11-08 17:32 UTC (permalink / raw)
To: Ceph Development
[-- Attachment #1: Type: text/plain, Size: 1014 bytes --]
Hi Ceph,
In the past few weeks the number of pending pull requests grew from around 20 to over 80. The good thing is that there are more contributions, the problem is that it requires more reviewers. Ceph is not the only project suffering from this kind of problem and attending the OpenStack summit last week reminded me that the sooner it is addressed the better.
After a few IRC discussions some ideas came up and my favorite is that every developer paid full time to work on Ceph dedicates a daily 15 minutes time slot, time boxed, to review pull requests. Timeboxing is kind of frustrating because some reviews require more. It basically means one has to focus on the pull request for ten minutes at most and take five minutes to write a useful comment that helps the author moving forward. But it also is the only way to make room for a daily activity with no risk of postponing it because something more urgent came up.
What do you think ?
Cheers
--
Loïc Dachary, Artisan Logiciel Libre
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Pull requests : speed up the reviews
2014-11-08 17:32 Pull requests : speed up the reviews Loic Dachary
@ 2014-11-09 12:08 ` Joao Eduardo Luis
2014-11-10 5:10 ` David Zafman
2014-11-10 19:07 ` Gregory Farnum
1 sibling, 1 reply; 8+ messages in thread
From: Joao Eduardo Luis @ 2014-11-09 12:08 UTC (permalink / raw)
To: Loic Dachary, Ceph Development
On 11/08/2014 05:32 PM, Loic Dachary wrote:
> Hi Ceph,
>
> In the past few weeks the number of pending pull requests grew from around 20 to over 80. The good thing is that there are more contributions, the problem is that it requires more reviewers. Ceph is not the only project suffering from this kind of problem and attending the OpenStack summit last week reminded me that the sooner it is addressed the better.
>
> After a few IRC discussions some ideas came up and my favorite is that every developer paid full time to work on Ceph dedicates a daily 15 minutes time slot, time boxed, to review pull requests. Timeboxing is kind of frustrating because some reviews require more. It basically means one has to focus on the pull request for ten minutes at most and take five minutes to write a useful comment that helps the author moving forward. But it also is the only way to make room for a daily activity with no risk of postponing it because something more urgent came up.
>
> What do you think ?
On my calendar, I do have a time slot of one hour each morning to review
pull requests and mailing lists but I seldom honor it, especially when
I'm caught up in other stuff.
I'll move it over to lunch so that it has no chance in interfering with
other tasks and try to make a habit of it.
It would also be interesting to see more community involvement. I
believe it would be healthy for the project if we could have (at least)
a portion of reviews being performed by other people besides solely the
paid developers/maintainers.
-Joao
--
Joao Eduardo Luis
Software Engineer | http://ceph.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Pull requests : speed up the reviews
2014-11-09 12:08 ` Joao Eduardo Luis
@ 2014-11-10 5:10 ` David Zafman
0 siblings, 0 replies; 8+ messages in thread
From: David Zafman @ 2014-11-10 5:10 UTC (permalink / raw)
To: Loic Dachary, Joao Eduardo Luis; +Cc: Ceph Development
I know I had a couple of pull requests that we weren’t going to merge until after the giant release. This may have applied some of the other ones too. In addition, It isn’t surprising that with a new release some non-release code reviews would be neglected.
That being said, this is a good time to remind people to dedicate time to code reviews.
David Zafman
Senior Developer
http://www.inktank.com
> On Nov 9, 2014, at 4:08 AM, Joao Eduardo Luis <joao@redhat.com> wrote:
>
> On 11/08/2014 05:32 PM, Loic Dachary wrote:
>> Hi Ceph,
>>
>> In the past few weeks the number of pending pull requests grew from around 20 to over 80. The good thing is that there are more contributions, the problem is that it requires more reviewers. Ceph is not the only project suffering from this kind of problem and attending the OpenStack summit last week reminded me that the sooner it is addressed the better.
>>
>> After a few IRC discussions some ideas came up and my favorite is that every developer paid full time to work on Ceph dedicates a daily 15 minutes time slot, time boxed, to review pull requests. Timeboxing is kind of frustrating because some reviews require more. It basically means one has to focus on the pull request for ten minutes at most and take five minutes to write a useful comment that helps the author moving forward. But it also is the only way to make room for a daily activity with no risk of postponing it because something more urgent came up.
>>
>> What do you think ?
>
> On my calendar, I do have a time slot of one hour each morning to review pull requests and mailing lists but I seldom honor it, especially when I'm caught up in other stuff.
>
> I'll move it over to lunch so that it has no chance in interfering with other tasks and try to make a habit of it.
>
> It would also be interesting to see more community involvement. I believe it would be healthy for the project if we could have (at least) a portion of reviews being performed by other people besides solely the paid developers/maintainers.
>
> -Joao
>
> --
> Joao Eduardo Luis
> Software Engineer | http://ceph.com
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Pull requests : speed up the reviews
2014-11-08 17:32 Pull requests : speed up the reviews Loic Dachary
2014-11-09 12:08 ` Joao Eduardo Luis
@ 2014-11-10 19:07 ` Gregory Farnum
2014-11-10 19:17 ` Sage Weil
1 sibling, 1 reply; 8+ messages in thread
From: Gregory Farnum @ 2014-11-10 19:07 UTC (permalink / raw)
To: Loic Dachary; +Cc: Ceph Development
On Sat, Nov 8, 2014 at 9:32 AM, Loic Dachary <loic@dachary.org> wrote:
> Hi Ceph,
>
> In the past few weeks the number of pending pull requests grew from around 20 to over 80. The good thing is that there are more contributions, the problem is that it requires more reviewers. Ceph is not the only project suffering from this kind of problem and attending the OpenStack summit last week reminded me that the sooner it is addressed the better.
>
> After a few IRC discussions some ideas came up and my favorite is that every developer paid full time to work on Ceph dedicates a daily 15 minutes time slot, time boxed, to review pull requests. Timeboxing is kind of frustrating because some reviews require more. It basically means one has to focus on the pull request for ten minutes at most and take five minutes to write a useful comment that helps the author moving forward. But it also is the only way to make room for a daily activity with no risk of postponing it because something more urgent came up.
>
> What do you think ?
This is something I've already been thinking about a bit for different
reasons. Historically we've had a very informal and organic approach
to review management.
When reviews first started, each developer went and sought out
somebody they felt was appropriate to review the code change. As the
team grew and we started to get more external contributions, this
basically meant that every review funneled through the tech leads:
leads selected reviewers for self-written code and then for every
other PR either reviewed it or explicitly passed it off to a competent
reviewer. Code which didn't fit into a clear lead category were
handled by Sage or occasionally somebody else (*self-aggrandizing
cough*). This used to work, but we're seeing its limitations as we
grow.
At the moment it's a particular concern because Sage and Sam have been
focused on the Giant release, I've been slowly but ruthlessly pruning
off activities like community review in the service of cephfs fsck
(and John and Zheng's productivity!), and we're getting a *lot* more
PRs of substance than we used to.
So we need a new system (or to be more proactive about our existing
informal system) for managing reviews. I think there are a few things
that a review process needs to address:
1) New PRs need to get an appropriate amount of commentary quickly.
2) PRs need to be reviewed by a competent developer prior to merge.
3) Reviewing needs to scale.
An "appropriate amount of commentary" obviously depends on the nature
of the review: we want to be more proactive with new contributors;
small but important patches should be handled more quickly than
long-term major features; a patch which isn't reviewable for style
reasons doesn't need the line-by-line attention of something that we
would like to merge ASAP.
The identity of a "competent developer" varies a lot across different
parts of the project, but I think this might be the key issue: there
are a lot of things where the pool of already-qualified people is only
one or two deep.
I suppose one way of handling this might be to ask everybody to
dedicate a small amount of time to reviews (as you suggest), but to
emphasize PR management as much as doing the actual review.
1) If you don't have assigned PRs, look at the unassigned PRs from
oldest to newest, and based on the target area assign it to the person
you think most appropriate.after doing basic due diligence for issues
that you can handle (ie, the feature is something you don't know is
inappropriate; skimming the code doesn't make you cry; etc)
2) Manage any reviews assigned to you:
2a) if you're the wrong target, assign it to somebody more appropriate
2b) If you're the right target but are trying to get somebody else
acquainted with the code base, maybe assign it to them
2c) assign priorities based on importance and age
3) review PRs in appropriate order at the level they deserve, and then
either merge or assign it back to the author
In particular, this clearly assigns responsibility for a PR to an
individual. It lets people offload as necessary, and gives feedback to
contributors quickly even if that feedback is just "we appreciate your
submission and it is in somebody's queue". It lets people contribute
to the PR process even if there isn't something they feel qualified to
review directly. And it doesn't emphasize the time spent reviewing so
much as the act of moving a PR through the stages of merging. (A
15-minute timebox might sound great, but trust me we have lots of PRs
that would never make it into the code base if they were done in
15-minute chunks.)
Obviously this is also not a very formal process, but I think maybe if
we start approaching things this way it will help move stuff through
the pipeline faster. Based on Sage's sudden enthusiasm for assigning
PR owners I think he might agree...?
-Greg
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Pull requests : speed up the reviews
2014-11-10 19:07 ` Gregory Farnum
@ 2014-11-10 19:17 ` Sage Weil
2014-11-10 19:50 ` Loic Dachary
0 siblings, 1 reply; 8+ messages in thread
From: Sage Weil @ 2014-11-10 19:17 UTC (permalink / raw)
To: Gregory Farnum; +Cc: Loic Dachary, Ceph Development
On Mon, 10 Nov 2014, Gregory Farnum wrote:
> I suppose one way of handling this might be to ask everybody to
> dedicate a small amount of time to reviews (as you suggest), but to
> emphasize PR management as much as doing the actual review.
>
> 1) If you don't have assigned PRs, look at the unassigned PRs from
> oldest to newest, and based on the target area assign it to the person
> you think most appropriate.after doing basic due diligence for issues
> that you can handle (ie, the feature is something you don't know is
> inappropriate; skimming the code doesn't make you cry; etc)
>
> 2) Manage any reviews assigned to you:
> 2a) if you're the wrong target, assign it to somebody more appropriate
> 2b) If you're the right target but are trying to get somebody else
> acquainted with the code base, maybe assign it to them
> 2c) assign priorities based on importance and age
>
> 3) review PRs in appropriate order at the level they deserve, and then
> either merge or assign it back to the author
>
> In particular, this clearly assigns responsibility for a PR to an
> individual. It lets people offload as necessary, and gives feedback to
> contributors quickly even if that feedback is just "we appreciate your
> submission and it is in somebody's queue". It lets people contribute
> to the PR process even if there isn't something they feel qualified to
> review directly. And it doesn't emphasize the time spent reviewing so
> much as the act of moving a PR through the stages of merging. (A
> 15-minute timebox might sound great, but trust me we have lots of PRs
> that would never make it into the code base if they were done in
> 15-minute chunks.)
>
> Obviously this is also not a very formal process, but I think maybe if
> we start approaching things this way it will help move stuff through
> the pipeline faster. Based on Sage's sudden enthusiasm for assigning
> PR owners I think he might agree...?
+1
:) sage
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Pull requests : speed up the reviews
2014-11-10 19:17 ` Sage Weil
@ 2014-11-10 19:50 ` Loic Dachary
2014-11-10 21:03 ` Gregory Farnum
2014-11-11 18:07 ` Sage Weil
0 siblings, 2 replies; 8+ messages in thread
From: Loic Dachary @ 2014-11-10 19:50 UTC (permalink / raw)
To: Gregory Farnum; +Cc: Ceph Development
[-- Attachment #1: Type: text/plain, Size: 2210 bytes --]
Hi Greg,
> On Mon, 10 Nov 2014, Gregory Farnum wrote:
>> I suppose one way of handling this might be to ask everybody to
>> dedicate a small amount of time to reviews (as you suggest), but to
>> emphasize PR management as much as doing the actual review.
>>
>> 1) If you don't have assigned PRs, look at the unassigned PRs from
>> oldest to newest, and based on the target area assign it to the person
>> you think most appropriate.after doing basic due diligence for issues
>> that you can handle (ie, the feature is something you don't know is
>> inappropriate; skimming the code doesn't make you cry; etc)
>>
>> 2) Manage any reviews assigned to you:
>> 2a) if you're the wrong target, assign it to somebody more appropriate
>> 2b) If you're the right target but are trying to get somebody else
>> acquainted with the code base, maybe assign it to them
>> 2c) assign priorities based on importance and age
>>
>> 3) review PRs in appropriate order at the level they deserve, and then
>> either merge or assign it back to the author
I'll do as you suggest.
>> In particular, this clearly assigns responsibility for a PR to an
>> individual. It lets people offload as necessary, and gives feedback to
>> contributors quickly even if that feedback is just "we appreciate your
>> submission and it is in somebody's queue". It lets people contribute
>> to the PR process even if there isn't something they feel qualified to
>> review directly. And it doesn't emphasize the time spent reviewing so
>> much as the act of moving a PR through the stages of merging. (A
>> 15-minute timebox might sound great, but trust me we have lots of PRs
>> that would never make it into the code base if they were done in
>> 15-minute chunks.)
I see what you mean. However there are few pull requests of that kind in the queue, or am I understimating most of them ?
>> Obviously this is also not a very formal process, but I think maybe if
>> we start approaching things this way it will help move stuff through
>> the pipeline faster. Based on Sage's sudden enthusiasm for assigning
>> PR owners I think he might agree...?
+1
--
Loïc Dachary, Artisan Logiciel Libre
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Pull requests : speed up the reviews
2014-11-10 19:50 ` Loic Dachary
@ 2014-11-10 21:03 ` Gregory Farnum
2014-11-11 18:07 ` Sage Weil
1 sibling, 0 replies; 8+ messages in thread
From: Gregory Farnum @ 2014-11-10 21:03 UTC (permalink / raw)
To: Loic Dachary; +Cc: Ceph Development
On Mon, Nov 10, 2014 at 11:50 AM, Loic Dachary <loic@dachary.org> wrote:
> Hi Greg,
>
>> On Mon, 10 Nov 2014, Gregory Farnum wrote:
>>> I suppose one way of handling this might be to ask everybody to
>>> dedicate a small amount of time to reviews (as you suggest), but to
>>> emphasize PR management as much as doing the actual review.
>>>
>>> 1) If you don't have assigned PRs, look at the unassigned PRs from
>>> oldest to newest, and based on the target area assign it to the person
>>> you think most appropriate.after doing basic due diligence for issues
>>> that you can handle (ie, the feature is something you don't know is
>>> inappropriate; skimming the code doesn't make you cry; etc)
>>>
>>> 2) Manage any reviews assigned to you:
>>> 2a) if you're the wrong target, assign it to somebody more appropriate
>>> 2b) If you're the right target but are trying to get somebody else
>>> acquainted with the code base, maybe assign it to them
>>> 2c) assign priorities based on importance and age
>>>
>>> 3) review PRs in appropriate order at the level they deserve, and then
>>> either merge or assign it back to the author
>
> I'll do as you suggest.
>
>>> In particular, this clearly assigns responsibility for a PR to an
>>> individual. It lets people offload as necessary, and gives feedback to
>>> contributors quickly even if that feedback is just "we appreciate your
>>> submission and it is in somebody's queue". It lets people contribute
>>> to the PR process even if there isn't something they feel qualified to
>>> review directly. And it doesn't emphasize the time spent reviewing so
>>> much as the act of moving a PR through the stages of merging. (A
>>> 15-minute timebox might sound great, but trust me we have lots of PRs
>>> that would never make it into the code base if they were done in
>>> 15-minute chunks.)
>
> I see what you mean. However there are few pull requests of that kind in the queue, or am I understimating most of them ?
I don't know; see my comment about ruthlessly pruning things above. ;)
But from my recent queue/things I noticed/things I'm seeing in the
queue now:
1) Lots of MDS changes of substance — osd epoch barrier handling, the
inode scrub stuff, locking format changes, quotas
2) The AsyncMessenger, which has merged as an experimental feature but
still not seen formal review
3) copy-on-read rbd changes, rbd bitmaps
(VERY IMPORTANT) Keep in mind that part of the job of reviewing
includes making sure that any suggested changes have been through
adequate testing. For stuff from full-time contributors you work with
daily, that might just be poking them to document it or remembering
that they discussed it in a standup. But with external users it often
means either persuading them to set up teuthology, or developing a
testing script for them — or if you're lucky, simply pulling their
branch into the upstream repo and scheduling a suite run. :( We get a
lot of stuff that is trickier than it looks and either hasn't been
tested or has only been tested under working conditions, not failure
conditions; that needs to be covered before merging.
-Greg
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Pull requests : speed up the reviews
2014-11-10 19:50 ` Loic Dachary
2014-11-10 21:03 ` Gregory Farnum
@ 2014-11-11 18:07 ` Sage Weil
1 sibling, 0 replies; 8+ messages in thread
From: Sage Weil @ 2014-11-11 18:07 UTC (permalink / raw)
To: Loic Dachary; +Cc: Gregory Farnum, Ceph Development
We spent some time going through the backlog yesterday and made quite a
bit of progress (down to 57 open). A few changes:
- got rid of the firefly, giant, dumpling, etc. tags
- added firefly, giant, dumpling, hammer, next 'milestones'
- rgw and rbd projects have all items assigned
- only 14 unassigned
I also created a wip-sam-testing label to make it a bit easier to track
what Sam is currently testing (tho nothing is tagged that way yet).
sage
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-11-11 18:07 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-08 17:32 Pull requests : speed up the reviews Loic Dachary
2014-11-09 12:08 ` Joao Eduardo Luis
2014-11-10 5:10 ` David Zafman
2014-11-10 19:07 ` Gregory Farnum
2014-11-10 19:17 ` Sage Weil
2014-11-10 19:50 ` Loic Dachary
2014-11-10 21:03 ` Gregory Farnum
2014-11-11 18:07 ` Sage Weil
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.