I have questions in this regard (you guys might have addressed it in this email 
chain):
 how PRs get assigned to a reviewer apart of a contributor tag someone? what if 
PR never gets a reviewer attention and it became in-active due to long review 
respond? should Bot assign a reviewer to a PR based on reviewers interest 
(i.e., defined via tags) and notify he/she if PR is waiting for review?


Cheers,  
/Yazdan


> On May 15, 2018, at 12:06 PM, Thomas Weise <t...@apache.org> wrote:
> 
> I like Till's proposal to notify the participants on the PR to PTAL. But I
> would also suggest to auto-close when no action is taken, with a friendly
> reminder that PRs can be reopened anytime.
> 
> The current situation with 350 open PRs may send a signal to contributors
> that it may actually be too much hassle to get a change committed in Flink.
> Since the count keeps on rising, this is also not a past problem. Pruning
> inactive PRs may help, that will also give a more accurate picture of the
> lack of review bandwidth, if that is the root cause.
> 
> Thanks,
> Thomas
> 
> 
> 
> 
> 
> On Tue, May 15, 2018 at 8:24 AM, Ted Yu <yuzhih...@gmail.com> wrote:
> 
>> How does the bot decide whether the PR is waiting for reviews or is being
>> abandoned by contributor ?
>> 
>> How about letting the bot count the number of times contributor pings
>> committer(s) for review ?
>> When unanswered ping count crosses some threshold, say 3, the bot publishes
>> the JIRA and PR somewhere.
>> 
>> Cheers
>> 
>> On Tue, May 15, 2018 at 8:19 AM, Till Rohrmann <trohrm...@apache.org>
>> wrote:
>> 
>>> I'm a bit torn here because I can see the pros and cons for both sides.
>>> 
>>> Maybe a compromise could be to not have a closing but a monitoring bot
>>> which notifies us about inactive PRs. This could then trigger an
>>> investigation of the underlying problem and ultimately lead to a
>> conscious
>>> decision to close or keep the PR open. As such it is not strictly
>> necessary
>>> to have such a bot but it would at least remind us to make a decision
>> about
>>> older PRs with no activity.
>>> 
>>> Cheers,
>>> Till
>>> 
>>> On Tue, May 15, 2018 at 3:26 PM, Chesnay Schepler <ches...@apache.org>
>>> wrote:
>>> 
>>>> /So far I did it twice for older PRs. In both cases I didn’t get any
>>>> response and I even forgot in which PRs I had asked this question, so
>>> now I
>>>> can not even close them :S/
>>>> 
>>>> To be honest this sounds more like an issue with how your organize your
>>>> work. No amount of closing PRs can fix that.
>>>> With GitBox we can assign reviewers to a PR, but I'm not sure whether
>> it
>>>> only allows committers to assign people.
>>>> Bookmarks or text files might help as well./
>>>> /
>>>> 
>>>> /Regarding only 30% blocked on contributor. I wonder what would be this
>>>> number if we tried to ask in the rest of old PRs “Hey, are you still
>>>> interested in reviewing/merging this?”.  If old PR is waiting for a
>>>> reviewer for X months, it doesn’t mean that’s not abandoned. Even if it
>>>> doesn’t, reducing our overhead by those 30% of the PRs is something./
>>>> 
>>>> No doubt the number would be higher if we were to go back, but as i
>>>> explained earlier that is not a reason to close it. If a PR is
>> abandoned
>>>> because we messed up we should still /try /to get it in.
>>>> 
>>>> /This is kind of whole point of what I was proposing. If the PR author
>> is
>>>> still there, and can respond/bump/interrupt the closing timeout, that’s
>>>> great. Gives us even more sense of urgency to review it./
>>>> 
>>>> Unfortunately knowing that it is more urgent is irrelevant, as we
>>>> currently don't have the manpower to review them. Reviving them now
>> would
>>>> serve no purpose. The alternative is to wait until more people become
>>>> active reviewers.
>>>> 
>>>> /As a last resort, closing PR after timeout is not the end of the
>> world.
>>>> It always can be reopened./
>>>> 
>>>> Let's be realistic here, it will not be reopened.
>>>> 
>>>> 
>>>> On 15.05.2018 14:21, Piotr Nowojski wrote:
>>>> 
>>>>> I agree that we have other, even more important, problems with
>> reviewing
>>>>> PR and community, but that shouldn’t block us from trying to clean up
>>>>> things a little bit and minimise the effort needed for reviewing PRs.
>>> Now
>>>>> before reviewing/picking older PRs I had to ask this “Hey, are you
>> still
>>>>> interested in merging this?” manually and wait for the response. If it
>>>>> doesn’t come, I have to remember to go back and close PR, which I of
>>> course
>>>>> forget to do. Bah, so far I did it twice for older PRs. In both cases
>> I
>>>>> didn’t get any response and I even forgot in which PRs I had asked
>> this
>>>>> question, so now I can not even close them :S Wasted effort and wasted
>>> time
>>>>> on context switching for me and for everyone else that will have to
>>> scroll
>>>>> pass or look on those PR to check their status.
>>>>> 
>>>>> Keep in mind that I am not proposing to close the PR automatically
>>>>> straight on after 3 months of inactivity. Only after asking a question
>>>>> whether original contributor is still there and he is interested in
>> the
>>> PR
>>>>> to be reviewed.
>>>>> 
>>>>> for Flink 1.5, I merged a contribution from PR #1990 after it was
>>>>>> requested a few times by users.
>>>>>> 
>>>>> This is kind of whole point of what I was proposing. If the PR author
>> is
>>>>> still there, and can respond/bump/interrupt the closing timeout,
>> that’s
>>>>> great. Gives us even more sense of urgency to review it. On the other
>>> hand
>>>>> if there is no response (no interest from the author for whatever the
>>>>> reasons) and nobody so far has picked this PR to review/merge, what’s
>>> the
>>>>> point of keeping such PR open? As a last resort, closing PR after
>>> timeout
>>>>> is not the end of the world. It always can be reopened.
>>>>> 
>>>>> Regarding only 30% blocked on contributor. I wonder what would be this
>>>>> number if we tried to ask in the rest of old PRs “Hey, are you still
>>>>> interested in reviewing/merging this?”. If old PR is waiting for a
>>> reviewer
>>>>> for X months, it doesn’t mean that’s not abandoned. Even if it
>> doesn’t,
>>>>> reducing our overhead by those 30% of the PRs is something.
>>>>> 
>>>>> Piotrek
>>>>> 
>>>>> On 15 May 2018, at 10:10, Fabian Hueske <fhue...@gmail.com> wrote:
>>>>>> 
>>>>>> I'm with Chesnay on this issue.
>>>>>> Stale PRs, i.e., a PR where a contributor becomes inactive, are one
>> of
>>>>>> our
>>>>>> smallest issues, IMO.
>>>>>> 
>>>>>> There are more reasons for the high number of PRs.
>>>>>> * Lack of timely reviews.
>>>>>> * Not eagerly closing PRs that have no or very little chance of being
>>>>>> merged. Common reasons are
>>>>>>  1) lack of interest in the feature by committers,
>>>>>>  2) too extensive changes and hence time consuming reviews, or
>>>>>>  3) bad quality.
>>>>>> 
>>>>>> For 1), there are lots of older JIRA issues, that have low priority
>> but
>>>>>> which are picked up by contributors. In the contribution guidelines
>> we
>>>>>> ask
>>>>>> contributors to let us know when they want to work on an issue. So
>> far
>>>>>> our
>>>>>> attitude has been, yes sure go ahead. I've seen very little attempts
>> of
>>>>>> warning somebody to work on issues that won't be easily merged.
>>>>>> Once a PR has been opened, we should also be honest and let
>>> contributors
>>>>>> know that it has no chance or might take a while to get reviewed.
>>>>>> For 2) this is typically not so much of an issue if the feature is
>>>>>> interesting. However, if 1) and 2) meet, chances to get a change in
>>> drop
>>>>>> even more.
>>>>>> 
>>>>>> A common "strategy" to deal with PRs that fall into 1), 2), or 3) is
>> to
>>>>>> not
>>>>>> look at them or giving a shallow review.
>>>>>> Of course, contributors become unresponsive if we don't look at their
>>> PRs
>>>>>> for weeks or months. But that's not their fault.
>>>>>> Instead, I think we should be honest and communicate the chances of a
>>> PR
>>>>>> more clearly.
>>>>>> 
>>>>>> Browsing over the list of open PRs, I feel that most older PRs fall
>>> into
>>>>>> the category of low-priority (or even unwanted) features.
>>>>>> Bug fixes or features that the committers care about usually make it
>>> into
>>>>>> the code base.
>>>>>> In case a contributor becomes inactive, committers often take over an
>>>>>> push
>>>>>> a contribution over the line.
>>>>>> 
>>>>>> So, I do not support an auto-close mechanism.
>>>>>> I think a better way to address the issue is better communication,
>> more
>>>>>> eagerly closing PRs with no chance, and putting more reviewing
>> effort.
>>>>>> IMO, we should only eagerly close PRs that have no chance of being
>>>>>> merged.
>>>>>> PRs with low-prio features might be picked up later (for Flink 1.5, I
>>>>>> merged a contribution from PR #1990 after it was requested a few
>> times
>>> by
>>>>>> users).
>>>>>> 
>>>>>> However, I think we could do a pass over the oldest PRs and check if
>> we
>>>>>> can
>>>>>> close a bunch.
>>>>>> There are quite a few contributions (many for flink-ml) that I don't
>>> see
>>>>>> a
>>>>>> chance for getting merged.
>>>>>> 
>>>>>> Best, Fabian
>>>>>> 
>>>>>> 
>>>>>> -
>>>>>> 
>>>>>> 2018-05-15 9:13 GMT+02:00 Chesnay Schepler <ches...@apache.org>:
>>>>>> 
>>>>>> -1
>>>>>>> 
>>>>>>> For clarification (since the original mail indicates otherwise), the
>>>>>>> number of pull requests that this would affect is fairly small.
>>>>>>> Only about 25-30% of all open PRs are blocked on the contributor,
>> the
>>>>>>> remaining ones are actually blocked on the review.
>>>>>>> Thus is reject the premise that one has to search through that many
>>> PRs
>>>>>>> to
>>>>>>> find something to review, there is plenty.
>>>>>>> 
>>>>>>> I believe it to be highly unfair for us to close PRs due to
>>> inactivity,
>>>>>>> when the primary cause has been /our /own inactivity.
>>>>>>> If a PR is opened and the first comment comes in 3 months late,
>> then I
>>>>>>> don't blame the contributor for not responding.
>>>>>>> IMO we owe it to the contributor to evaluate their PR, and if
>>> necessary
>>>>>>> bring it to a merge-able state (to a certain extend).
>>>>>>> 
>>>>>>> There's also the fact that closing these PRs outright would waste a
>>> lot
>>>>>>> of
>>>>>>> good contributions.
>>>>>>> 
>>>>>>> Finally, this solution is overkill for what we want to achieve. If
>> we
>>>>>>> want
>>>>>>> to make it easier to find PRs to review all we need is
>>>>>>> GitBox integration and tagging or PRs. That's it. We could have a
>>> /fully
>>>>>>> /tagged PR list /tomorrow/, if we really wanted to.
>>>>>>> 
>>>>>>> 
>>>>>>> On 15.05.2018 05:10, Ted Yu wrote:
>>>>>>> 
>>>>>>> bq. this pull request requires a review, please simply write any
>>>>>>>> comment.
>>>>>>>> 
>>>>>>>> Shouldn't the wording of such comment be known before hand ?
>>>>>>>> 
>>>>>>>> Otherwise pull request waiting for committers' review may be
>>>>>>>> mis-classified.
>>>>>>>> 
>>>>>>>> Cheers
>>>>>>>> 
>>>>>>>> On Mon, May 14, 2018 at 7:59 PM, blues zheng <kisim...@163.com>
>>> wrote:
>>>>>>>> 
>>>>>>>> +1 for the proposal.
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Best,
>>>>>>>>> blues
>>>>>>>>> On 05/14/2018 20:58, Ufuk Celebi wrote:
>>>>>>>>> Hey Piotr,
>>>>>>>>> 
>>>>>>>>> thanks for bringing this up. I really like this proposal and also
>>> saw
>>>>>>>>> it work successfully at other projects. So +1 from my side.
>>>>>>>>> 
>>>>>>>>> - I like the approach with a notification one week before
>>>>>>>>> automatically closing the PR
>>>>>>>>> - I think a bot will the best option as these kinds of things are
>>>>>>>>> usually followed enthusiastically in the beginning but eventually
>>>>>>>>> loose traction
>>>>>>>>> 
>>>>>>>>> We can enable better integration with GitHub by using ASF GitBox
>>>>>>>>> (https://gitbox.apache.org/setup/) but we should discuss that in
>> a
>>>>>>>>> separate thread.
>>>>>>>>> 
>>>>>>>>> – Ufuk
>>>>>>>>> 
>>>>>>>>> On Mon, May 14, 2018 at 12:04 PM, Piotr Nowojski
>>>>>>>>> <pi...@data-artisans.com> wrote:
>>>>>>>>> 
>>>>>>>>> Hey,
>>>>>>>>>> 
>>>>>>>>>> We have lots of open pull requests and quite some of them are
>>>>>>>>>> 
>>>>>>>>>> stale/abandoned/inactive. Often such old PRs are impossible to
>>> merge
>>>>>>>>> due
>>>>>>>>> to
>>>>>>>>> conflicts and it’s easier to just abandon and rewrite them.
>>> Especially
>>>>>>>>> there are some PRs which original contributor created long time
>> ago,
>>>>>>>>> someone else wrote some comments/review and… that’s about it.
>>> Original
>>>>>>>>> contributor never shown up again to respond to the comments.
>>>>>>>>> Regardless
>>>>>>>>> of
>>>>>>>>> the reason such PRs are clogging the GitHub, making it difficult
>> to
>>>>>>>>> keep
>>>>>>>>> track of things and making it almost impossible to find a little
>> bit
>>>>>>>>> old
>>>>>>>>> (for example 3+ months) PRs that are still valid and waiting for
>>>>>>>>> reviews.
>>>>>>>>> To do something like that, one would have to dig through tens or
>>>>>>>>> hundreds
>>>>>>>>> of abandoned PRs.
>>>>>>>>> 
>>>>>>>>> What I would like to propose is to agree on some inactivity dead
>>> line,
>>>>>>>>>> 
>>>>>>>>>> lets say 3 months. After crossing such deadline, PRs should be
>>>>>>>>> marked/commented as “stale”, with information like:
>>>>>>>>> 
>>>>>>>>> “This pull request has been marked as stale due to 3 months of
>>>>>>>>>> 
>>>>>>>>>> inactivity. It will be closed in 1 week if no further activity
>>>>>>>>> occurs. If
>>>>>>>>> you think that’s incorrect or this pull request requires a review,
>>>>>>>>> please
>>>>>>>>> simply write any comment.”
>>>>>>>>> 
>>>>>>>>> Either we could just agree on such policy and enforce it manually
>>>>>>>>>> (maybe
>>>>>>>>>> 
>>>>>>>>>> with some simple tooling, like a simple script to list inactive
>>> PRs -
>>>>>>>>> seems
>>>>>>>>> like couple of lines in python by using PyGithub) or we could
>> think
>>>>>>>>> about
>>>>>>>>> automating this action. There are some bots that do exactly this
>>> (like
>>>>>>>>> this
>>>>>>>>> one: https://github.com/probot/stale <https://github.com/probot/
>>> stale
>>>>>>>>>> 
>>>>>>>>> ),
>>>>>>>>> but probably they would need to be adopted to limitations of our
>>>>>>>>> Apache
>>>>>>>>> repository (we can not add labels and we can not close the PRs via
>>>>>>>>> GitHub).
>>>>>>>>> 
>>>>>>>>> What do you think about it?
>>>>>>>>>> 
>>>>>>>>>> Piotrek
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>> 
>>>>> 
>>>> 
>>> 
>> 

Reply via email to