Hey all, I started poking around at Github actions on my fork. https://github.com/mumrah/kafka/actions
I'll post a PR if I get it working and we can discuss what kind of settings we want (or if we want it all) -David On Tue, Jun 6, 2023 at 1:18 PM Chris Egerton <chr...@aiven.io.invalid> wrote: > Hi Josep, > > Thanks for bringing this up! Will try to keep things brief. > > I'm generally in favor of this initiative. A couple ideas that I really > liked: requiring a component label (producer, consumer, connect, streams, > etc.) before closing, and disabling auto-close (i.e., automatically tagging > PRs as stale, but leaving it to a human being to actually close them). > > We might replace the "stale" label with a "close-by-<date>" label so that > it becomes even easier for us to find the PRs that are ready to be closed > (as opposed to the ones that have just been labeled as stale without giving > the contributor enough time to respond). > > I've also gone ahead and closed some of my stale PRs. Others I've > downgraded to draft to signal that I'd like to continue to pursue them, but > have to iron out merge conflicts first. For the last ones, I'll ping for > review. > > One question that came to mind--do we want to distinguish between regular > and draft PRs? I'm guessing not, since they still add up to the total PR > count against the project, but since they do also implicitly signal that > they're not intended for review (yet) it may be friendlier to leave them > up. > > Cheers, > > Chris > > On Tue, Jun 6, 2023 at 10:18 AM Mickael Maison <mickael.mai...@gmail.com> > wrote: > > > Hi Josep, > > > > Thanks for looking into this. This is clearly one aspect where we need > > to improve. > > > > We had a similar initiative last year > > (https://lists.apache.org/thread/66yj9m6tcyz8zqb3lqlbnr386bqwsopt) and > > we closed many PRs. Unfortunately we did not follow up with a process > > or automation and we are back to the same situation. > > > > Manually reviewing all these PRs is a huge task, so I think we should > > at least partially automate it. I'm not sure if we should manually > > review the oldest PRs (pre 2020). There's surely many interesting > > things but I wonder if we should instead focus on the more recent ones > > as they have a higher chance of 1) still making sense, 2) getting > > updates from their authors, 3) needing less rebasing. If something has > > been broken since 2016 but we never bothered to fix the PR it means it > > can't be anything critical! > > > > Finally as Colin mentioned, it looks like a non negligible chunk of > > stale PRs comes from committers and regular contributors. So I'd > > suggest we each try to clean our own backlog too. > > > > I wonder if we also need to do something in JIRA. Querying for > > unresolved tickets returns over 4000 items. Considering we're not > > quite at KAFKA-15000 yet, that's a lot. > > > > Thanks, > > Mickael > > > > > > On Tue, Jun 6, 2023 at 11:35 AM Josep Prat <josep.p...@aiven.io.invalid> > > wrote: > > > > > > Hi Devs, > > > I would say we can split the problem in 2. > > > > > > Waiting for Author feedback: > > > We could have a bot that would ping authors for the cases where we have > > PRs > > > that are stalled and have either: > > > - Merge conflict > > > - Unaddressed reviews > > > > > > Waiting for reviewers: > > > For the PRs where we have no reviewers and there are no conflicts, I > > think > > > we would need some human interaction to determine modules (maybe this > can > > > be automated) and ping people who could review. > > > > > > What do you think? > > > > > > Best, > > > > > > On Tue, Jun 6, 2023 at 11:30 AM Josep Prat <josep.p...@aiven.io> > wrote: > > > > > > > Hi Nikolay, > > > > > > > > With a bot it will be complicated to determine what to do when the PR > > > > author is waiting for a reviewer. If a person goes over them, can > > check if > > > > they are waiting for reviews and tag the PR accordingly and maybe > ping > > a > > > > maintainer. > > > > If you look at my last email I described a flow (but AFAIU it will > work > > > > only if a human executes it) where the situation you point out would > be > > > > covered. > > > > > > > > ——— > > > > Josep Prat > > > > > > > > Aiven Deutschland GmbH > > > > > > > > Alexanderufer 3-7, 10117 Berlin > > > > > > > > Amtsgericht Charlottenburg, HRB 209739 B > > > > > > > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > > > > > > > > m: +491715557497 > > > > > > > > w: aiven.io > > > > > > > > e: josep.p...@aiven.io > > > > > > > > On Tue, Jun 6, 2023, 11:20 Николай Ижиков <nizhi...@apache.org> > wrote: > > > > > > > >> Hello. > > > >> > > > >> What is actions of contributor if no feedback given? [1], [2] > > > >> > > > >> [1] https://github.com/apache/kafka/pull/13278 > > > >> [2] https://github.com/apache/kafka/pull/13247 > > > >> > > > >> > 2 июня 2023 г., в 23:38, David Arthur <mum...@gmail.com> > > написал(а): > > > >> > > > > >> > I think this is a great idea. If we don’t want the auto-close > > > >> > functionality, we can set it to -1 > > > >> > > > > >> > I realize this isn’t a vote, but I’m +1 on this > > > >> > > > > >> > -David > > > >> > > > > >> > On Fri, Jun 2, 2023 at 15:34 Colin McCabe <cmcc...@apache.org> > > wrote: > > > >> > > > > >> >> That should read "30 days without activity" > > > >> >> > > > >> >> (I am assuming we have the ability to determine when a PR was > last > > > >> updated > > > >> >> on GH) > > > >> >> > > > >> >> best, > > > >> >> Colin > > > >> >> > > > >> >> On Fri, Jun 2, 2023, at 12:32, Colin McCabe wrote: > > > >> >>> Hi all, > > > >> >>> > > > >> >>> Looking at GitHub, I have a bunch of Kafka PRs of my own that > I've > > > >> >>> allowed to become stale, and I guess are pushing up these > numbers! > > > >> >>> Overall I support the goal of putting a time limit on PRs, just > so > > > >> that > > > >> >>> we can focus our review bandwidth. > > > >> >>> > > > >> >>> It may be best to start with a simple approach where we mark PRs > > as > > > >> >>> stale after 30 days and email the submitter at that time. And > then > > > >> >>> delete after 60 days. (Of course the exact time periods might be > > > >> >>> something gother than 30/60 but this is just an initial > > suggestion) > > > >> >>> > > > >> >>> best, > > > >> >>> Colin > > > >> >>> > > > >> >>> > > > >> >>> On Fri, Jun 2, 2023, at 00:37, Josep Prat wrote: > > > >> >>>> Hi all, > > > >> >>>> > > > >> >>>> I want to say that in my experience, I always felt better as a > > > >> >> contributor > > > >> >>>> when a person told me something than when a bot did. That being > > said, > > > >> >> I'm > > > >> >>>> not against bots, and I think they might be a great solution > > once we > > > >> >> have a > > > >> >>>> manageable number of open PRs. > > > >> >>>> > > > >> >>>> Another great question that adding a bot poses is types of > > staleness > > > >> >>>> detection. How do we distinguish between staleness from the > > author's > > > >> >> side > > > >> >>>> or from the lack of reviewers/maintainers' side? That's why I > > started > > > >> >> with > > > >> >>>> a human approach to be able to distinguish between these 2 > cases. > > > >> Both > > > >> >>>> situations should have different messages and actually > different > > > >> >> intended > > > >> >>>> receivers. In case of staleness because of author inactivity, > the > > > >> >> message > > > >> >>>> should encourage the author to update the PR with the requested > > > >> changes > > > >> >> or > > > >> >>>> resolve the conflicts. But In many cases, PRs are stale because > > of > > > >> lack > > > >> >> of > > > >> >>>> reviewers. This would need a different message, targeting > > > >> maintainers. > > > >> >>>> > > > >> >>>> Ideally (with bot or not) I believe the process should be as > > follows: > > > >> >>>> - Check PRs that are stale. > > > >> >>>> - See if they have labels, if not add proper labels (connect, > > core, > > > >> >>>> clients...) > > > >> >>>> - PR has merge conflicts > > > >> >>>> -- Merge conflicts exist and target files that still exist, > ping > > the > > > >> >> author > > > >> >>>> asking for conflict resolution and add some additional label > like > > > >> >> `stale`. > > > >> >>>> -- Merge conflicts exist and target files that do not exist > > anymore, > > > >> let > > > >> >>>> the author know that this PR is obsolete, label the PR as > > 'obsolete' > > > >> and > > > >> >>>> close the PR. > > > >> >>>> - PR is mergeable, check whose action is needed (author or > > reviewers) > > > >> >>>> -- Author: let the author know that there are pending comments > to > > > >> >> address. > > > >> >>>> Add some additional label, maybe `stale` again > > > >> >>>> -- Reviewer: ping some reviewers that have experience or lately > > > >> touched > > > >> >>>> this piece of the codebase, add a label `reviewer needed` or > > > >> something > > > >> >>>> similar > > > >> >>>> - PRs that have `stale` label after X days, will be closed. > > > >> >>>> > > > >> >>>> Regarding the comments about only committers and collaborators > > being > > > >> >> able > > > >> >>>> to label PRs, this is true, not everyone can do this. However, > > this > > > >> >> could > > > >> >>>> be a great opportunity for the newly appointed contributors to > > > >> exercise > > > >> >>>> their new permissions :) > > > >> >>>> > > > >> >>>> Let me know if it makes sense to you all. > > > >> >>>> > > > >> >>>> Best, > > > >> >> > > > >> > -- > > > >> > David Arthur > > > >> > > > >> > > > > > > -- > > > [image: Aiven] <https://www.aiven.io> > > > > > > *Josep Prat* > > > Open Source Engineering Director, *Aiven* > > > josep.p...@aiven.io | +491715557497 > > > aiven.io <https://www.aiven.io> | < > > https://www.facebook.com/aivencloud> > > > <https://www.linkedin.com/company/aiven/> < > > https://twitter.com/aiven_io> > > > *Aiven Deutschland GmbH* > > > Alexanderufer 3-7, 10117 Berlin > > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > > > Amtsgericht Charlottenburg, HRB 209739 B > > > -- -David