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> 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>:
>>
>>> 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>:
>>>
>>>> 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>:
>>>>
>>>>> 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>:
>>>>>
>>>>>> 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>:
>>>>>>
>>>>>>> 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>:
>>>>>>>
>>>>>>>>>
>>>>>>>>> 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
>>>>>>>>> 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>
>>>> 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>:
>>>>>>>>>>>
>>>>>>>>>>>> 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>
>>>>>>>>>> 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