Sound good to me. And I agree; I cannot comment on my own work either ;)
On 10/26/2015 05:01 PM, Fabian Hueske 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>: > >> 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 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>> >>> >> >
signature.asc
Description: OpenPGP digital signature