Hi Fabian,

I see a bot "project-bot" active on pull requests. It is some progress of
this thread?

Best,
tison.


Thomas Weise <t...@apache.org> 于2018年9月19日周三 下午10:02写道:

> Follow-up regarding the PR template that pops up when opening a PR:
>
> I think what we have now is a fairly big blob of text that jumps up a bit
> unexpectedly for a first time contributor and is also cumbersome to deal
> with in the small PR description window. Perhaps we can improve it a bit:
>
> * Instead of putting all that text into the description, add it to
> website/wiki and just have a pointer in the PR, asking the contributor to
> review the guidelines before opening a PR.
> * If the questions further down can be made relevant to the context of the
> contribution, that would probably help both the contributor and the
> reviewer. For example, the questions would be different for a documentation
> change, connector change or work deep in core. Not sure if that can be
> automated, but if moved to a separate page, it could be structured better.
>
> Thanks,
> Thomas
>
>
>
>
>
>
> On Tue, Sep 18, 2018 at 8:13 AM 陈梓立 <wander4...@gmail.com> wrote:
>
> > Put some good cases here might be helpful.
> >
> > See how a contribution of runtime module be proposed, discussed,
> > implemented and merged from  https://github.com/apache/flink/pull/5931
> to
> > https://github.com/apache/flink/pull/6132.
> >
> > 1. #5931 fix a bug, but remains points could be improved. Here sihuazhou
> > and shuai-xu share their considerations and require review(of the
> proposal)
> > by Stephan, Till and Gary, our committers.
> > 2. After discussion, all people involved reach a consensus. So the rest
> > work is to implement it.
> > 3. sihuazhou gives out an implementation #6132, Till reviews it and find
> it
> > is somewhat out of the "architectural" aspect, so suggests
> > implementation-level changes.
> > 4. Addressing those implementation-level comments, the PR gets merged.
> >
> > I think this is quite a good example how we think our review process
> should
> > go.
> >
> > Best,
> > tison.
> >
> >
> > 陈梓立 <wander4...@gmail.com> 于2018年9月18日周二 下午10:53写道:
> >
> > > Maybe a little rearrange to the process would help.
> > >
> > > (1). Does the contributor describe itself well?
> > >   (1.1) By whom this contribution should be given attention. This often
> > > shows by its title, "[FLINK-XXX] [module]", the module part infer.
> > >   (1.2) What the purpose of this contribution is. Done by the PR
> > template.
> > > Even on JIRA an issue should cover these points.
> > >
> > > (2). Is there consensus on the contribution?
> > > This follows (1), because we need to clear what the purpose of the
> > > contribution first. At this stage reviewers could cc to module
> maintainer
> > > as a supplement to (1.1). Also reviewers might ask the contributor to
> > > clarify his purpose to sharp(1.2)
> > >
> > > (3). Is the implement architectural and fit code style?
> > > This follows (2). And only after a consensus we talk about concrete
> > > implement, which prevent spend time and put effort in vain.
> > >
> > > In addition, ideally a "+1" comment or approval means the purpose of
> > > contribution is supported by the reviewer and implement(if there is)
> > > quality is fine, so the reviewer vote for a consensus.
> > >
> > > Best,
> > > tison.
> > >
> > >
> > > Stephan Ewen <se...@apache.org> 于2018年9月18日周二 下午6:44写道:
> > >
> > >> On the template discussion, some thoughts
> > >>
> > >> *PR Template*
> > >>
> > >> I think the PR template went well. We can rethink the "checklist" at
> the
> > >> bottom, but all other parts turned out helpful in my opinion.
> > >>
> > >> With the amount of contributions, it helps to ask the contributor to
> > take
> > >> a
> > >> little more work in order for the reviewer to be more efficient.
> > >> I would suggest to keep that mindset: Whenever we find a way that the
> > >> contributor can prepare stuff in such a way that reviews become
> > >> more efficient, we should do that. In my experience, most contributors
> > are
> > >> willing to put in some extra minutes if it helps that their
> > >> PR gets merged faster.
> > >>
> > >> *Review Template*
> > >>
> > >> I think it would be helpful to have this checklist. It does not matter
> > in
> > >> which form, be that as a text template, be that as labels.
> > >>
> > >> The most important thing is to make explicit which questions have been
> > >> answered in the review.
> > >> Currently there is a lot of "+1" on pull requests which means "code
> > >> quality
> > >> is fine", but all other questions are unanswered.
> > >> The contributors then rightfully wonder why this does not get merged.
> > >>
> > >>
> > >>
> > >> On Tue, Sep 18, 2018 at 7:26 AM, 陈梓立 <wander4...@gmail.com> wrote:
> > >>
> > >> > Hi all interested,
> > >> >
> > >> > Within the document there is a heated discussion about how the PR
> > >> > template/review template should be.
> > >> >
> > >> > Here share my opinion:
> > >> >
> > >> > 1. For the review template, actually we don't need comment a review
> > >> > template at all. GitHub has a tag system and only committer could
> add
> > >> tags,
> > >> > which we can make use of it. That is, tagging this PR is
> > >> > waiting-for-proposal-approved, waiting-for-code-review,
> > >> > waiting-for-benchmark or block-by-author and so on. Asfbot could
> pick
> > >> > GitHub tag state to the corresponding JIRA and we always regard JIRA
> > as
> > >> the
> > >> > main discussion borad.
> > >> >
> > >> > 2. For the PR template, the greeting message is redundant. Just
> > >> emphasize a
> > >> > JIRA associated is important and how to format the title is enough.
> > >> > Besides, the "Does this pull request potentially affect one of the
> > >> > following parts" part and "Documentation" should be coved from "What
> > is
> > >> the
> > >> > purpose of the change" and "Brief change log". These two parts,
> users
> > >> > always answer no and would be aware if they really make changes on
> it.
> > >> As
> > >> > example, even pull request requires document, its owner might no add
> > it
> > >> at
> > >> > first. The PR template is a guide but not which one have to learn.
> > >> >
> > >> > To sum up, (1) take advantage of GitHub's tag system to tag review
> > >> progress
> > >> > (2) make the template more concise to avoid burden mature
> contributors
> > >> and
> > >> > force new comer to learn too much.
> > >> >
> > >> > Best,
> > >> > tison.
> > >> >
> > >> >
> > >> > Rong Rong <walter...@gmail.com> 于2018年9月18日周二 上午7:05写道:
> > >> >
> > >> > > Thanks for putting the review contribution doc together, Stephan!
> > This
> > >> > will
> > >> > > definitely help the community to make the review process better.
> > >> > >
> > >> > > From my experience this will benefit on both contributors and
> > >> reviewers
> > >> > > side! Thus +1 for putting into practice as well.
> > >> > >
> > >> > > --
> > >> > > Rong
> > >> > >
> > >> > > On Mon, Sep 17, 2018 at 10:18 AM Stephan Ewen <se...@apache.org>
> > >> wrote:
> > >> > >
> > >> > > > Hi!
> > >> > > >
> > >> > > > Thanks you for the encouraging feedback so far.
> > >> > > >
> > >> > > > The overall goal is definitely to make the contribution process
> > >> better
> > >> > > and
> > >> > > > get fewer pull requests that are disregarded.
> > >> > > >
> > >> > > > There are various reasons for the disregarded pull requests, one
> > >> being
> > >> > > that
> > >> > > > fewer committers really participate in reviews beyond
> > >> > > > the component they are currently very involved with. This is a
> > >> separate
> > >> > > > issue and I am thinking on how to encourage more
> > >> > > > activity there.
> > >> > > >
> > >> > > > The other reason I was lack of structure and lack of decision
> > >> making,
> > >> > > which
> > >> > > > is what I am first trying to fix here.
> > >> > > > A follow-up to this will definitely be to improve the
> contribution
> > >> > guide
> > >> > > as
> > >> > > > well.
> > >> > > >
> > >> > > > Best,
> > >> > > > Stephan
> > >> > > >
> > >> > > >
> > >> > > > On Mon, Sep 17, 2018 at 12:05 PM, Zhijiang(wangzhijiang999) <
> > >> > > > wangzhijiang...@aliyun.com.invalid> wrote:
> > >> > > >
> > >> > > > > From my personal experience as a contributor for three years,
> I
> > >> feel
> > >> > > > > better experience in contirbuting or reviewing than before,
> > >> although
> > >> > we
> > >> > > > > still have some points for further progress.
> > >> > > > >
> > >> > > > > I reviewed the proposal doc, and it gives very constructive
> and
> > >> > > > meaningful
> > >> > > > > guides which could help both contributor and reviewer. I agree
> > >> with
> > >> > the
> > >> > > > > bove suggestions and wish they can be praticed well!
> > >> > > > >
> > >> > > > > Best,
> > >> > > > > Zhijiang
> > >> > > > >
> > ------------------------------------------------------------------
> > >> > > > > 发件人:Till Rohrmann <trohrm...@apache.org>
> > >> > > > > 发送时间:2018年9月17日(星期一) 16:27
> > >> > > > > 收件人:dev <dev@flink.apache.org>
> > >> > > > > 主 题:Re: [PROPOSAL] [community] A more structured approach to
> > >> reviews
> > >> > > and
> > >> > > > > contributions
> > >> > > > >
> > >> > > > > Thanks for writing this up Stephan. I like the steps and hope
> > >> that it
> > >> > > > will
> > >> > > > > help the community to make the review process better. Thus, +1
> > for
> > >> > > > putting
> > >> > > > > your proposal to practice.
> > >> > > > >
> > >> > > > > Cheers,
> > >> > > > > Till
> > >> > > > >
> > >> > > > > On Mon, Sep 17, 2018 at 10:00 AM Stephan Ewen <
> se...@apache.org
> > >
> > >> > > wrote:
> > >> > > > >
> > >> > > > > > Hi Flink community members!
> > >> > > > > >
> > >> > > > > > As many of you will have noticed, the Flink project activity
> > has
> > >> > gone
> > >> > > > up
> > >> > > > > > again quite a bit.
> > >> > > > > > There are many more contributions, which is an absolutely
> > great
> > >> > thing
> > >> > > > to
> > >> > > > > > have :-)
> > >> > > > > >
> > >> > > > > > However, we see a continuously growing backlog of pull
> > requests
> > >> and
> > >> > > > JIRA
> > >> > > > > > issues.
> > >> > > > > > To make sure the community will be able to handle the
> > increased
> > >> > > > volume, I
> > >> > > > > > think we need to revisit some
> > >> > > > > > approaches and processes. I believe there are a few
> > >> opportunities
> > >> > to
> > >> > > > > > structure things a bit better, which
> > >> > > > > > should help to scale the development.
> > >> > > > > >
> > >> > > > > > The first thing I would like to bring up are *Pull Request
> > >> > Reviews*.
> > >> > > > Even
> > >> > > > > > though more community members being
> > >> > > > > > active in reviews (which is a really great thing!) the Pull
> > >> Request
> > >> > > > > backlog
> > >> > > > > > is increasing quite a bit.
> > >> > > > > >
> > >> > > > > > Why are pull requests still not merged faster? Looking at
> the
> > >> > > reviews,
> > >> > > > > one
> > >> > > > > > thing I noticed is that most reviews deal
> > >> > > > > > immediately with detailed code issues, and leave out most of
> > the
> > >> > core
> > >> > > > > > questions that need to be answered
> > >> > > > > > before a Pull Request can be merged, like "is this a desired
> > >> > > feature?"
> > >> > > > or
> > >> > > > > > "does this align well with other developments?".
> > >> > > > > > I think that we even make things slightly worse that way:
> From
> > >> my
> > >> > > > > personal
> > >> > > > > > experience, I have often thought "oh, this
> > >> > > > > > PR has a review already" and rather looked at another PR,
> only
> > >> to
> > >> > > find
> > >> > > > > > later that the first review did never decide whether
> > >> > > > > > this PR is actually a good fit for Flink.
> > >> > > > > >
> > >> > > > > > There has never been a proper documentation of how to answer
> > >> these
> > >> > > > > > questions, what to evaluate in reviews,
> > >> > > > > > guidelines for how to evaluate pull requests, other than
> code
> > >> > > quality.
> > >> > > > I
> > >> > > > > > suspect that this is why so many reviewers
> > >> > > > > > do not address the "is this a good contribution" questions,
> > >> making
> > >> > > pull
> > >> > > > > > requests linger until another committers joins
> > >> > > > > > the review.
> > >> > > > > >
> > >> > > > > > Below is an idea for a guide *"How to Review
> Contributions"*.
> > It
> > >> > > > outlines
> > >> > > > > > five core aspects to be checked in every
> > >> > > > > > pull request, and suggests a priority for clarifying those.
> > The
> > >> > idea
> > >> > > is
> > >> > > > > > that this helps us to better structure reviews, and
> > >> > > > > > to make each reviewer aware what we look for in a review and
> > >> where
> > >> > to
> > >> > > > > best
> > >> > > > > > bring in their help.
> > >> > > > > >
> > >> > > > > > Looking forward to comments!
> > >> > > > > >
> > >> > > > > > Best,
> > >> > > > > > Stephan
> > >> > > > > >
> > >> > > > > > ====================================
> > >> > > > > >
> > >> > > > > > The draft is in this Google Doc. Please add small textual
> > >> comments
> > >> > to
> > >> > > > the
> > >> > > > > > doc, and bigger principle discussions as replies to this
> mail.
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> https://docs.google.com/document/d/1yaX2b9LNh-6LxrAmE23U3D2c
> > >> > > > > RbocGlGKCYnvJd9lVhk/edit?usp=sharing
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > *How to Review
> Contributions------------------------------This
> > >> > guide
> > >> > > is
> > >> > > > > for
> > >> > > > > > all committers and contributors that want to help with
> > reviewing
> > >> > > > > > contributions. Thank you for your effort - good reviews are
> > one
> > >> the
> > >> > > > most
> > >> > > > > > important and crucial parts of an open source project. This
> > >> guide
> > >> > > > should
> > >> > > > > > help the community to make reviews such that: - Contributors
> > >> have a
> > >> > > > good
> > >> > > > > > contribution experience- Reviews are structured and check
> all
> > >> > > important
> > >> > > > > > aspects of a contribution- Make sure we keep a high code
> > >> quality in
> > >> > > > > Flink-
> > >> > > > > > We avoid situations where contributors and reviewers spend a
> > >> lot of
> > >> > > > time
> > >> > > > > to
> > >> > > > > > refine a contribution that gets rejected laterReview
> > >> ChecklistEvery
> > >> > > > > review
> > >> > > > > > needs to check the following five aspects. We encourage to
> > check
> > >> > > these
> > >> > > > > > aspects in order, to avoid spending time on detailed code
> > >> quality
> > >> > > > reviews
> > >> > > > > > when there is not yet consensus that a feature or change
> > should
> > >> be
> > >> > > > > actually
> > >> > > > > > be added.(1) Is there consensus whether the change of
> feature
> > >> > should
> > >> > > go
> > >> > > > > > into to Flink?For bug fixes, this needs to be checked only
> in
> > >> case
> > >> > it
> > >> > > > > > requires bigger changes or might break existing programs and
> > >> > > > > > setups.Ideally, this question is already answered from a
> JIRA
> > >> issue
> > >> > > or
> > >> > > > > the
> > >> > > > > > dev-list discussion, except in cases of bug fixes and small
> > >> > > lightweight
> > >> > > > > > additions/extensions. In that case, this question can be
> > >> > immediately
> > >> > > > > marked
> > >> > > > > > as resolved. For pull requests that are created without
> prior
> > >> > > > consensus,
> > >> > > > > > this question needs to be answered as part of the review.The
> > >> > decision
> > >> > > > > > whether the change should go into Flink needs to take the
> > >> following
> > >> > > > > aspects
> > >> > > > > > into consideration: - Does the contribution alter the
> behavior
> > >> of
> > >> > > > > features
> > >> > > > > > or components in a way that it may break previous users’
> > >> programs
> > >> > and
> > >> > > > > > setups? If yes, there needs to be a discussion and agreement
> > >> that
> > >> > > this
> > >> > > > > > change is desirable. - Does the contribution conceptually
> fit
> > >> well
> > >> > > into
> > >> > > > > > Flink? Is it too much of special case such that it makes
> > things
> > >> > more
> > >> > > > > > complicated for the common case, or bloats the abstractions
> /
> > >> > APIs? -
> > >> > > > > Does
> > >> > > > > > the feature fit well into Flink’s architecture? Will it
> scale
> > >> and
> > >> > > keep
> > >> > > > > > Flink flexible for the future, or will the feature restrict
> > >> Flink
> > >> > in
> > >> > > > the
> > >> > > > > > future? - Is the feature a significant new addition (rather
> > >> than an
> > >> > > > > > improvement to an existing part)? If yes, will the Flink
> > >> community
> > >> > > > commit
> > >> > > > > > to maintaining this feature? - Does the feature produce
> added
> > >> value
> > >> > > for
> > >> > > > > > Flink users or developers? Or does it introduce risk of
> > >> regression
> > >> > > > > without
> > >> > > > > > adding relevant user or developer benefit?All of these
> > questions
> > >> > > should
> > >> > > > > be
> > >> > > > > > answerable from the description/discussion in JIRA and Pull
> > >> > Request,
> > >> > > > > > without looking at the code.(2) Does the contribution need
> > >> > attention
> > >> > > > from
> > >> > > > > > some specific committers and is there time commitment from
> > these
> > >> > > > > > committers?Some changes require attention and approval from
> > >> > specific
> > >> > > > > > committers. For example, changes in parts that are either
> very
> > >> > > > > performance
> > >> > > > > > sensitive, or have a critical impact on distributed
> > coordination
> > >> > and
> > >> > > > > fault
> > >> > > > > > tolerance need input by a committer that is deeply familiar
> > with
> > >> > the
> > >> > > > > > component.As a rule of thumb, this is the case when the Pull
> > >> > Request
> > >> > > > > > description answers one of the questions in the template
> > section
> > >> > > “Does
> > >> > > > > this
> > >> > > > > > pull request potentially affect one of the following parts”
> > with
> > >> > > > > ‘yes’.This
> > >> > > > > > question can be answered with - Does not need specific
> > >> attention-
> > >> > > Needs
> > >> > > > > > specific attention for X (X can be for example
> checkpointing,
> > >> > > > jobmanager,
> > >> > > > > > etc.).- Has specific attention for X by @commiterA,
> > >> @contributorBIf
> > >> > > the
> > >> > > > > > pull request needs specific attention, one of the tagged
> > >> > > > > > committers/contributors should give the final approval.(3)
> Is
> > >> the
> > >> > > > > > contribution described well?Check whether the contribution
> is
> > >> > > > > sufficiently
> > >> > > > > > well described to support a good review. Trivial changes and
> > >> fixes
> > >> > do
> > >> > > > not
> > >> > > > > > need a long description. Any pull request that changes
> > >> > functionality
> > >> > > or
> > >> > > > > > behavior needs to describe the big picture of these changes,
> > so
> > >> > that
> > >> > > > > > reviews know what to look for (and don’t have to dig through
> > the
> > >> > code
> > >> > > > to
> > >> > > > > > hopefully understand what the change does).Changes that
> > require
> > >> > > longer
> > >> > > > > > descriptions are ideally based on a prior design discussion
> in
> > >> the
> > >> > > > > mailing
> > >> > > > > > list or in JIRA and can simply link to there or copy the
> > >> > description
> > >> > > > from
> > >> > > > > > there.(4) Does the implementation follow the right overall
> > >> > > > > > approach/architecture?Is this the best approach to implement
> > the
> > >> > fix
> > >> > > or
> > >> > > > > > feature, or are there other approaches that would be easier,
> > >> more
> > >> > > > robust,
> > >> > > > > > or more maintainable?This question should be answerable from
> > the
> > >> > Pull
> > >> > > > > > Request description (or the linked JIRA) as much as
> > possible.We
> > >> > > > recommend
> > >> > > > > > to check this before diving into the details of commenting
> on
> > >> > > > individual
> > >> > > > > > parts of the change.(5) Is the overall code quality good,
> > >> meeting
> > >> > > > > standard
> > >> > > > > > we want to maintain in Flink?This is the detailed code
> review
> > of
> > >> > the
> > >> > > > > actual
> > >> > > > > > changes, covering: - Are the changes doing what is described
> > in
> > >> the
> > >> > > > > design
> > >> > > > > > document or PR description?- Does the code follow the right
> > >> > software
> > >> > > > > > engineering practices? It the code correct, robust,
> > >> maintainable,
> > >> > > > > > testable?- Are the change performance aware, when changing a
> > >> > > > performance
> > >> > > > > > sensitive part?- Are the changes sufficiently covered by
> > tests?-
> > >> > Are
> > >> > > > the
> > >> > > > > > tests executing fast?- Does the code format follow Flink’s
> > >> > checkstyle
> > >> > > > > > pattern?- Does the code avoid to introduce additional
> compiler
> > >> > > > > > warnings?Some code style guidelines can be found in the
> [Flink
> > >> Code
> > >> > > > Style
> > >> > > > > > Page](
> > https://flink.apache.org/contribute-code.html#code-style
> > >> > > > > > <https://flink.apache.org/contribute-code.html#code-style
> > >)Pull
> > >> > > > Request
> > >> > > > > > Review TemplateAdd the following checklist to the pull
> request
> > >> > > review,
> > >> > > > > > checking the boxes as the questions are answered:  - [ ]
> > >> Consensus
> > >> > > that
> > >> > > > > the
> > >> > > > > > contribution should go into to Flink  - [ ] Does not need
> > >> specific
> > >> > > > > > attention | Needs specific attention for X | Has attention
> > for X
> > >> > by Y
> > >> > > > -
> > >> > > > > [
> > >> > > > > > ] Contribution description  - [ ] Architectural approach  -
> [
> > ]
> > >> > > Overall
> > >> > > > > > code quality*
> > >> > > > > >
> > >> > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> >
>

Reply via email to