+1 for that one.

The good news is all Flink committers have been very discipline about
reviews :)

On Monday, October 26, 2015, Fabian Hueske <fhue...@gmail.com> wrote:

> Hi Matthias,
>
> those a good points. I did not really think about the different roles
> (technical, meta-role).
> My reasoning was that the shepherd should be able to give feedback on the
> PR in order to move it forward. This does not work so well if the shepherd
> is also the author of the PR (at least I am not so good at commenting on my
> own work ;-)).
>
> However, you and Henry are of course right. Every committer can commit by
> her/himself.
>
> How about we keep it as follows:
> Committers can of course push hot fixes and minor changes directly.
> Everything larger should go through a PR. If nobody signs up to shepherd
> the PR, the author can drive it forward her/himself. I don't think it is
> necessary that a committer explicitly sign-up as a shepherd of her/his own
> PR.
>
> Cheers, Fabian
>
>
> 2015-10-24 20:48 GMT+02:00 Henry Saputra <henry.sapu...@gmail.com
> <javascript:;>>:
>
> > Yes, as committer we trust you to do the right thing when committing the
> > code.
> > If a committer believe he/ she needs review,especially with large
> > patch, then he/ she should send PR for review.
> >
> >
> > - Henry
> >
> > On Sat, Oct 24, 2015 at 3:53 AM, Matthias J. Sax <mj...@apache.org
> <javascript:;>> wrote:
> > > Great work!
> > >
> > > What puzzles me a little bit, is the shepherding of PR from committers.
> > > Why should it be a different committer?
> > >
> > > 1) As a committer, you don't even need to open a PR for small code
> > > changes at all (especially, if the committer is the most experience one
> > > regard a certain component/library). Just open a JIRA, fix it, and
> > commit.
> > >
> > > 2) It is clear, that if a PR is complex and maybe touches different
> > > components, feedback from the most experiences committer on those
> > > components should be given on the PR to ensure code quality. But the
> > > role of a shepherd is a "meta" role, if a understand the guideline
> > > correctly, and not a technical one (-> everybody should discuss,
> > > comment, accept, mark to get merged, and merge PRs). So why do we need
> a
> > > different shepherd there? I think, committers can drive their own PRs
> by
> > > themselves.
> > >
> > >
> > > -Matthias
> > >
> > >
> > > On 10/23/2015 06:00 PM, Fabian Hueske wrote:
> > >> Hi everybody,
> > >>
> > >> I created a wiki page for our Pull Request Process. [1]
> > >> Please review, refine, and comment.
> > >>
> > >> I would suggest to start following the process once 0.10 is released.
> > >> What do you think?
> > >>
> > >> Cheers,
> > >> Fabian
> > >>
> > >> [1]
> > >>
> >
> https://cwiki.apache.org/confluence/display/FLINK/Pull+Request+Management
> > >>
> > >> 2015-10-19 17:53 GMT+02:00 Fabian Hueske <fhue...@gmail.com
> <javascript:;>>:
> > >>
> > >>> Thanks for your feedback, Alex.
> > >>>
> > >>> Chesnay is right, we cannot modify the GH assignee field at the
> > moment. If
> > >>> this changes at some point, I would support your proposal.
> > >>>
> > >>> Regarding the PR - JIRA rule, this has been discussed as part of the
> > new
> > >>> contribution guidelines discussion [1].
> > >>> I agree, it is not always easy to draw a line here. However, if in
> > doubt I
> > >>> would go for the JIRA issue because it allows everybody to track the
> > issue
> > >>> later, esp. if it solves a bug that other people might run into as
> > well.
> > >>> In your concrete example, you could have referenced the original JIRA
> > >>> issue to remove Spargel from your PR.
> > >>>
> > >>> I also agree that the shepherd should not be the author of the PR.
> > >>> However, every committer can always commit to the master branch
> (unless
> > >>> somebody raised concerns of course). So committers should be free to
> > commit
> > >>> their own PRs, IMO.
> > >>>
> > >>> Cheers, Fabian
> > >>>
> > >>> [1]
> > >>>
> >
> http://mail-archives.apache.org/mod_mbox/flink-dev/201509.mbox/%3CCAAdrtT0RLgqJgJVrK1zH_e_7VW1k8VTv4ChnumTRh7fLGA_zmw%40mail.gmail.com%3E
> > >>>
> > >>>
> > >>>
> > >>> 2015-10-17 13:00 GMT+02:00 Alexander Alexandrov <
> > >>> alexander.s.alexand...@gmail.com <javascript:;>>:
> > >>>
> > >>>> Also, regarding the "Each PR should be backed by a JIRA" rule -
> please
> > >>>> don't make this strict and consider the relative effort to opening a
> > JIRA
> > >>>> as opposed to just opening a PR for small PRs that fix something
> > obvious.
> > >>>>
> > >>>> For example, two days ago I opened two PRs while investigating a
> > reported
> > >>>> JIRA bug (FLINK-2858 <
> > https://issues.apache.org/jira/browse/FLINK-2858>):
> > >>>>
> > >>>> https://github.com/apache/flink/pull/1259
> > >>>> https://github.com/apache/flink/pull/1260
> > >>>>
> > >>>> 1259 removes obsolete references to the (now removed 'flink-spargel'
> > code
> > >>>> from the POM), while 1260 updates a paragraph of the "How to Build"
> > >>>> documentation and fixes some broken href anchors.
> > >>>>
> > >>>> Just my two cents here, but fixes (not only hotfixes) that
> > >>>>
> > >>>> * resolve minor and obvious issues with the existing code or the
> > >>>> documentation,
> > >>>> * can be followed by everybody just by looking at the diff
> > >>>>
> > >>>> should be just cherry-picked (and if needed amended) by a committer
> > >>>> without
> > >>>> too much unnecessary discussion and excluded from the "shepherding
> > >>>> process".
> > >>>>
> > >>>>
> > >>>> 2015-10-17 12:32 GMT+02:00 Alexander Alexandrov <
> > >>>> alexander.s.alexand...@gmail.com <javascript:;>>:
> > >>>>
> > >>>>> One suggestion from me: in GitHub you can make clear who the
> current
> > >>>>> sheppard is through the "Assignee" field in the PR (which can and
> > IMHO
> > >>>>> should be different from the user who actually opened the request).
> > >>>>>
> > >>>>> Regards,
> > >>>>> A.
> > >>>>>
> > >>>>> 2015-10-16 15:58 GMT+02:00 Fabian Hueske <fhue...@gmail.com
> <javascript:;>>:
> > >>>>>
> > >>>>>> Hi folks,
> > >>>>>>
> > >>>>>> I think we can split of the discussion of a PR meeting.
> > >>>>>>
> > >>>>>> Are there any more comments on the proposal itself?
> > >>>>>> Otherwise, I would go ahead and put the described process (modulo
> > the
> > >>>>>> comments) into a document for our website.
> > >>>>>>
> > >>>>>> Cheers, Fabian
> > >>>>>>
> > >>>>>> 2015-10-07 16:57 GMT+02:00 Fabian Hueske <fhue...@gmail.com
> <javascript:;>>:
> > >>>>>>
> > >>>>>>> I like the idea of meeting once a week to discuss about PRs as
> > well.
> > >>>>>>>
> > >>>>>>> Regarding lingering PRs, you can simply sort the Flink PRs in
> > Github
> > >>>> by
> > >>>>>>> "least recently updated"
> > >>>>>>>
> > >>>>>>> Cheers,
> > >>>>>>> Fabian
> > >>>>>>>
> > >>>>>>> 2015-10-07 16:48 GMT+02:00 Theodore Vasiloudis <
> > >>>>>>> theodoros.vasilou...@gmail.com <javascript:;>>:
> > >>>>>>>
> > >>>>>>>>>
> > >>>>>>>>> Could we maybe do a "PR overall status assessment" once per
> week
> > >>>> or
> > >>>>>> so,
> > >>>>>>>>> where we find those problematic PRs and try to assign them /
> > close
> > >>>>>> them?
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>> I like this idea, as it would raise  awareness about lingering
> > PRs.
> > >>>>>> Does
> > >>>>>>>> anybody know if there is
> > >>>>>>>> some way to integrate this into JIRA, so we can easily see (and
> > >>>>>>>> filter/sort) lingering PRs?
> > >>>>>>>>
> > >>>>>>>> Cheers,
> > >>>>>>>> Theo
> > >>>>>>>>
> > >>>>>>>> On Wed, Oct 7, 2015 at 12:04 PM, Vasiliki Kalavri <
> > >>>>>>>> vasilikikala...@gmail.com <javascript:;>
> > >>>>>>>>> wrote:
> > >>>>>>>>
> > >>>>>>>>> Hey,
> > >>>>>>>>>
> > >>>>>>>>> I agree that we need to organize the PR process. A PR
> management
> > >>>> tool
> > >>>>>>>> would
> > >>>>>>>>> be great.
> > >>>>>>>>>
> > >>>>>>>>> However, it seems to me that the shepherding process described
> is
> > >>>>>> -more
> > >>>>>>>> or
> > >>>>>>>>> less- what we've already been doing. There is usually a person
> > >>>> that
> > >>>>>>>> reviews
> > >>>>>>>>> the PR and kind-of drives the process. Maybe making this
> explicit
> > >>>>>> will
> > >>>>>>>> make
> > >>>>>>>>> things go faster.
> > >>>>>>>>>
> > >>>>>>>>> There is a problem I see here, quite related to what Theo also
> > >>>>>>>> mentioned.
> > >>>>>>>>> For how long do we let a PR lingering around without a
> shepherd?
> > >>>> What
> > >>>>>>>> do we
> > >>>>>>>>> do if nobody volunteers?
> > >>>>>>>>> Could we maybe do a "PR overall status assessment" once per
> week
> > >>>> or
> > >>>>>> so,
> > >>>>>>>>> where we find those problematic PRs and try to assign them /
> > close
> > >>>>>> them?
> > >>>>>>>>>
> > >>>>>>>>> Finally, I think shepherding one's own PR is a bad idea (the
> > >>>> review
> > >>>>>>>> part)
> > >>>>>>>>> unless it's something trivial.
> > >>>>>>>>>
> > >>>>>>>>> Cheers and see you very soon,
> > >>>>>>>>> -Vasia.
> > >>>>>>>>> On Oct 7, 2015 11:24 AM, "Matthias J. Sax" <mj...@apache.org
> <javascript:;>>
> > >>>> wrote:
> > >>>>>>>>>
> > >>>>>>>>>> Ok. That makes sense. So most people will need to change
> > >>>> behavior
> > >>>>>> and
> > >>>>>>>>>> start discussions in JIRA and not over dev list. Furthermore,
> > >>>>>> issues
> > >>>>>>>>>> list must be monitored more carefully... (I personally, watch
> > >>>> dev
> > >>>>>>>>>> carefully and only skip over issues list right now)
> > >>>>>>>>>>
> > >>>>>>>>>> -Matthias
> > >>>>>>>>>>
> > >>>>>>>>>> On 10/07/2015 10:22 AM, Fabian Hueske wrote:
> > >>>>>>>>>>> @Matthias: That's a good point. Each PR should be backed by a
> > >>>>>> JIRA
> > >>>>>>>>> issue.
> > >>>>>>>>>>> If that's not the case, we have to make the contributor aware
> > >>>> of
> > >>>>>>>> that
> > >>>>>>>>>> rule.
> > >>>>>>>>>>> I'll update the process to keep all discussions in JIRA (will
> > >>>> be
> > >>>>>>>>> mirrored
> > >>>>>>>>>>> to issues ML), OK?
> > >>>>>>>>>>>
> > >>>>>>>>>>> @Theo: You are right. Adding this process won't be the silver
> > >>>>>>>> bullet to
> > >>>>>>>>>> fix
> > >>>>>>>>>>> all PR related issues.
> > >>>>>>>>>>> But I hope it will help to improve the overall situation.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Are there any other comment? Otherwise I would start to
> > >>>> prepare
> > >>>>>> add
> > >>>>>>>>> this
> > >>>>>>>>>> to
> > >>>>>>>>>>> our website.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Thanks, Fabian
> > >>>>>>>>>>>
> > >>>>>>>>>>> 2015-10-06 9:46 GMT+02:00 Theodore Vasiloudis <
> > >>>>>>>>>>> theodoros.vasilou...@gmail.com <javascript:;>>:
> > >>>>>>>>>>>
> > >>>>>>>>>>>> One problem that we are seeing with FlinkML PRs is that
> there
> > >>>>>> are
> > >>>>>>>>> simply
> > >>>>>>>>>>>> not enough commiters to "shepherd" all of them.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> While I think this process would help generally, I don't
> > >>>> think
> > >>>>>> it
> > >>>>>>>>> would
> > >>>>>>>>>>>> solve this kind of problem.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Regards,
> > >>>>>>>>>>>> Theodore
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> On Mon, Oct 5, 2015 at 3:28 PM, Matthias J. Sax <
> > >>>>>> mj...@apache.org <javascript:;>>
> > >>>>>>>>>> wrote:
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>> One comment:
> > >>>>>>>>>>>>> We should ensure that contributors follow discussions on
> the
> > >>>>>> dev
> > >>>>>>>>>> mailing
> > >>>>>>>>>>>>> list. Otherwise, they might miss important discussions
> > >>>>>> regarding
> > >>>>>>>>> their
> > >>>>>>>>>>>>> PR (what happened already). Thus, the contributor was
> > >>>> waiting
> > >>>>>> for
> > >>>>>>>>>>>>> feedback on the PR, while the reviewer(s) waited for the PR
> > >>>> to
> > >>>>>> be
> > >>>>>>>>>>>>> updated according to the discussion consensus, resulting in
> > >>>>>>>>> unnecessary
> > >>>>>>>>>>>>> delays.
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> -Matthias
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> On 10/05/2015 02:18 PM, Fabian Hueske wrote:
> > >>>>>>>>>>>>>> Hi everybody,
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Along with our efforts to improve the “How to contribute”
> > >>>>>> guide,
> > >>>>>>>> I
> > >>>>>>>>>>>> would
> > >>>>>>>>>>>>>> like to start a discussion about a setting up a review
> > >>>> process
> > >>>>>>>> for
> > >>>>>>>>>> pull
> > >>>>>>>>>>>>>> requests.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Right now, I feel that our PR review efforts are often a
> > >>>> bit
> > >>>>>>>>>>>> unorganized.
> > >>>>>>>>>>>>>> This leads to situation such as:
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> - PRs which are lingering around without review or
> feedback
> > >>>>>>>>>>>>>> - PRs which got a +1 for merging but which did not get
> > >>>> merged
> > >>>>>>>>>>>>>> - PRs which have been rejected after a long time
> > >>>>>>>>>>>>>> - PRs which became irrelevant because some component was
> > >>>>>>>> rewritten
> > >>>>>>>>>>>>>> - PRs which are lingering around and have been abandoned
> by
> > >>>>>> their
> > >>>>>>>>>>>>>> contributors
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> To address these issues I propose to define a pull request
> > >>>>>> review
> > >>>>>>>>>>>> process
> > >>>>>>>>>>>>>> as follows:
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> 1. [Get a Shepherd] Each pull request is taken care of by
> a
> > >>>>>>>>> shepherd.
> > >>>>>>>>>>>>>> Shepherds are committers that voluntarily sign up and
> *feel
> > >>>>>>>>>>>> responsible*
> > >>>>>>>>>>>>>> for helping the PR through the process until it is merged
> > >>>> (or
> > >>>>>>>>>>>> discarded).
> > >>>>>>>>>>>>>> The shepherd is also the person to contact for the author
> > >>>> of
> > >>>>>> the
> > >>>>>>>>> PR. A
> > >>>>>>>>>>>>>> committer becomes the shepherd of a PR by dropping a
> > >>>> comment
> > >>>>>> on
> > >>>>>>>>> Github
> > >>>>>>>>>>>>> like
> > >>>>>>>>>>>>>> “I would like to shepherd this PR”. A PR can be reassigned
> > >>>>>> with
> > >>>>>>>> lazy
> > >>>>>>>>>>>>>> consensus.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> 2. [Accept Decision] The first decision for a PR should be
> > >>>>>>>> whether
> > >>>>>>>>> it
> > >>>>>>>>>>>> is
> > >>>>>>>>>>>>>> accepted or not. This depends on a) whether it is a
> desired
> > >>>>>>>> feature
> > >>>>>>>>> or
> > >>>>>>>>>>>>>> improvement for Flink and b) whether the higher-level
> > >>>> solution
> > >>>>>>>>> design
> > >>>>>>>>>>>> is
> > >>>>>>>>>>>>>> appropriate. In many cases such as bug fixes or discussed
> > >>>>>>>> features
> > >>>>>>>>> or
> > >>>>>>>>>>>>>> improvements, this should be an easy decision. In case of
> > >>>>>> more a
> > >>>>>>>>>>>> complex
> > >>>>>>>>>>>>>> feature, the discussion should have been started when the
> > >>>>>>>> mandatory
> > >>>>>>>>>>>> JIRA
> > >>>>>>>>>>>>>> was created. If it is still not clear whether the PR
> > >>>> should be
> > >>>>>>>>>> accepted
> > >>>>>>>>>>>>> or
> > >>>>>>>>>>>>>> not, a discussion should be started in JIRA (a JIRA issue
> > >>>>>> needs
> > >>>>>>>> to
> > >>>>>>>>> be
> > >>>>>>>>>>>>>> created if none exists). The acceptance decision should be
> > >>>>>>>> recorded
> > >>>>>>>>> by
> > >>>>>>>>>>>> a
> > >>>>>>>>>>>>>> “+1 to accept” message in Github. If the PR is not
> > >>>> accepted,
> > >>>>>> it
> > >>>>>>>>> should
> > >>>>>>>>>>>> be
> > >>>>>>>>>>>>>> closed in a timely manner.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> 3. [Merge Decision] Once a PR has been “accepted”, it
> > >>>> should
> > >>>>>> be
> > >>>>>>>>>> brought
> > >>>>>>>>>>>>>> into a mergeable state. This means the community should
> > >>>>>> quickly
> > >>>>>>>>> react
> > >>>>>>>>>>>> on
> > >>>>>>>>>>>>>> contributor questions or PR updates. Everybody is
> > >>>> encouraged
> > >>>>>> to
> > >>>>>>>>> review
> > >>>>>>>>>>>>> pull
> > >>>>>>>>>>>>>> requests and give feedback. Ideally, the PR author does
> not
> > >>>>>> have
> > >>>>>>>> to
> > >>>>>>>>>>>> wait
> > >>>>>>>>>>>>>> for a long time to get feedback. The shepherd of a PR
> > >>>> should
> > >>>>>> feel
> > >>>>>>>>>>>>>> responsible to drive this process forward. Once the PR is
> > >>>>>>>> considered
> > >>>>>>>>>> to
> > >>>>>>>>>>>>> be
> > >>>>>>>>>>>>>> mergeable, this should be recorded by a “+1 to merge”
> > >>>> message
> > >>>>>> in
> > >>>>>>>>>>>> Github.
> > >>>>>>>>>>>>> If
> > >>>>>>>>>>>>>> the pull request becomes abandoned at some point in time,
> > >>>> it
> > >>>>>>>> should
> > >>>>>>>>> be
> > >>>>>>>>>>>>>> either taken over by somebody else or be closed after a
> > >>>>>>>> reasonable
> > >>>>>>>>>>>> time.
> > >>>>>>>>>>>>>> Again, this can be done by anybody, but the shepherd
> should
> > >>>>>> feel
> > >>>>>>>>>>>>>> responsible to resolve the issue.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> 4. Once, the PR is in a mergeable state, it should be
> > >>>> merged.
> > >>>>>>>> This
> > >>>>>>>>> can
> > >>>>>>>>>>>> be
> > >>>>>>>>>>>>>> done by anybody, however the shepherd should make sure
> > >>>> that it
> > >>>>>>>>> happens
> > >>>>>>>>>>>>> in a
> > >>>>>>>>>>>>>> timely manner.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> IMPORTANT: Everybody is encouraged to discuss pull
> > >>>> requests,
> > >>>>>> give
> > >>>>>>>>>>>>> feedback,
> > >>>>>>>>>>>>>> and merge pull requests which are in a good shape.
> However,
> > >>>>>> the
> > >>>>>>>>>>>> shepherd
> > >>>>>>>>>>>>>> should feel responsible to drive a PR forward if nothing
> > >>>>>> happens.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> By defining a review process for pull requests, I hope we
> > >>>> can
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> - Improve the satisfaction of and interaction with
> > >>>>>> contributors
> > >>>>>>>>>>>>>> - Improve and speed-up the review process of pull
> requests.
> > >>>>>>>>>>>>>> - Close irrelevant and stale PRs more timely
> > >>>>>>>>>>>>>> - Reduce the effort for code reviewing
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> The review process can be supported by some tooling:
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> - A QA bot that checks the quality of pull requests such
> as
> > >>>>>>>> increase
> > >>>>>>>>>> of
> > >>>>>>>>>>>>>> compiler warnings, code style, API changes, etc.
> > >>>>>>>>>>>>>> - A PR management tool such as Sparks PR dashboard (see:
> > >>>>>>>>>>>>>> https://spark-prs.appspot.com/)
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> I would like to start discussions about using such tools
> > >>>>>> later as
> > >>>>>>>>>>>>> separate
> > >>>>>>>>>>>>>> discussions.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Looking forward to your feedback,
> > >>>>>>>>>>>>>> Fabian
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>>
> > >>>>>
> > >>>>
> > >>>
> > >>>
> > >>
> > >
> >
>

Reply via email to