I finally got around to writing some of this up. It is minimal. Feedback is welcome, especially if what I have written does not accurately represent the community's approach.
https://github.com/apache/beam/pull/9862 Kenn On Mon, Feb 11, 2019 at 3:21 PM Daniel Oliveira <danolive...@google.com> wrote: > Ah, sorry, I missed that Alex was just quoting from our Jira installation > (didn't read his email closely enough). Also I wasn't aware about those > pages on our website. > > Seeing as we do have definitions for our priorities, I guess my main > request would be that they be made more discoverable somehow. I don't think > the tooltips are reliable, and the pages on the website are informative, > but hard to find. Since it feels a bit lazy to say "this isn't discoverable > enough" without suggesting any improvements, I'd like to propose these two > changes: > > 1. We should write a Beam Jira Guide with basic information about our > Jira. I think the bug priorities should go in here, but also anything else > we would want someone to know before filing any Jira issues, like how our > components are organized or what the different issue types mean. This guide > could either be written in the website or the wiki, but I think it should > definitely be linked in https://beam.apache.org/contribute/ so that > newcomers read it before getting their Jira account approved. The goal here > being to have a reference for the basics of our Jira since at the moment it > doesn't seem like we have anything for this. > > 2. The existing info on Post-commit and pre-commit policies doesn't seem > very discoverable to someone monitoring the Pre/Post-commits. I've reported > a handful of test-failures already and haven't seen this link mentioned > much. We should try to find a way to funnel people towards this link when > there's an issue, the same way we try to funnel people towards the > contribution guide when they write a PR. As a note, while writing this > email I remembered this link that someone gave me before ( > https://s.apache.org/beam-test-failure > <https://www.google.com/url?q=https://s.apache.org/beam-test-failure&sa=D&usg=AFQjCNH0ZmcPNrKiYDDcajVZuCnC_qfxDw>). > That mentions the Post-commit policies page, so maybe it's just a matter of > pasting that all over our Jenkins builds whenever we have a failing test? > > PS: I'm also definitely for SLOs, but I figure it's probably better > discussed in a separate thread so I'm trying to stick to the subject of > priority definitions. > > On Mon, Feb 11, 2019 at 9:17 AM Scott Wegner <sc...@apache.org> wrote: > >> Thanks for driving this discussion. I also was not aware of these >> existing definitions. Once we agree on the terms, let's add them to our >> Contributor Guide and start using them. >> >> +1 in general; I like both Alex and Kenn's definitions; Additional >> wordsmithing could be moved to a Pull Request. Can we make the definitions >> useful for both the person filing a bug, and the assignee, i.e. >> >> <Priority Level>: <Criteria for what types of issues should be assigned>. >> <Expectations for responding to a Priority Level issue> >> >> On Sun, Feb 10, 2019 at 7:49 PM Kenneth Knowles <k...@google.com> wrote: >> >>> The content that Alex posted* is the definition from our Jira >>> installation anyhow. >>> >>> I just searched around, and there's >>> https://community.atlassian.com/t5/Jira-questions/According-to-Jira-What-is-Blocker-Critical-Major-Minor-and/qaq-p/668774 >>> which makes clear that this is really user-defined, since Jira has many >>> deployments with their own configs. >>> >>> I guess what I want to know about this thread is what action is being >>> proposed? >>> >>> Previously, there was a thread that resulted in >>> https://beam.apache.org/contribute/precommit-policies/ and >>> https://beam.apache.org/contribute/postcommits-policies/. These have >>> test failures and flakes as Critical. I agree with Alex that these should >>> be Blocker. They disrupt the work of the entire community, so we need to >>> drop everything and get green again. >>> >>> Other than that, I think what you - Daniel - are suggesting is that the >>> definition might be best expressed as SLOs. I asked on >>> u...@infra.apache.org about how we could have those and the answer is >>> the homebrew >>> https://svn.apache.org/repos/infra/infrastructure/trunk/projects/status/sla/jira/. >>> If anyone has time to dig into that and see if it can work for us, that >>> would be cool. >>> >>> Kenn >>> >>> *Blocker: Blocks development and/or testing work, production could not >>> run >>> Critical: Crashes, loss of data, severe memory leak. >>> Major (Default): Major loss of function. >>> Minor: Minor loss of function, or other problem where easy workaround is >>> present. >>> Trivial: Trivial Cosmetic problem like misspelt words or misaligned text. >>> >>> >>> On Sun, Feb 10, 2019 at 7:20 PM Daniel Oliveira <danolive...@google.com> >>> wrote: >>> >>>> Are there existing meanings for the priorities in Jira already? I >>>> wasn't able to find any info on either the Beam website or wiki about it, >>>> so I've just been prioritizing issues based on gut feeling. If not, I think >>>> having some well-defined priorities would be nice, at least for our >>>> test-failures, and especially if we wanna have some SLOs like I've seen >>>> being thrown about. >>>> >>>> On Fri, Feb 8, 2019 at 3:06 PM Kenneth Knowles <k...@apache.org> wrote: >>>> >>>>> I've been thinking about this since working on the release. If I >>>>> ignore the names I think: >>>>> >>>>> P0: get paged, stop whatever you planned on doing, work late to fix >>>>> P1: continually update everyone on status and shouldn't sit around >>>>> unassigned >>>>> P2: most things here; they can be planned or picked up by whomever >>>>> P3: nice-to-have things, maybe starter tasks or lesser cleanup, but no >>>>> driving need >>>>> Sometimes there's P4 but I don't value it. Often P3 is a deprioritized >>>>> thing from P2, so more involved and complex, while P4 is something easy >>>>> and >>>>> not important filed just as a reminder. Either way, they are both not on >>>>> the main path of work. >>>>> >>>>> I looked into it and the Jira priority scheme determines the set of >>>>> priorities as well as the default. Ours is shared by 635 projects. >>>>> Probably >>>>> worth keeping. The default priority is Major which would correspond with >>>>> P2. We can expect the default to be where most issues end up. >>>>> >>>>> P0 == Blocker: get paged, stop whatever you planned on doing, work >>>>> late to fix >>>>> P1 == Critical: continually update everyone on status and shouldn't >>>>> sit around unassigned >>>>> P0 == Major (default): most things here; they can be planned or picked >>>>> up by whomever >>>>> P3 == Minor: nice-to-have things, maybe starter tasks or lesser >>>>> cleanup, but no driving need >>>>> Trivial: Maybe this is attractive to newcomers as it makes it sound >>>>> easy. >>>>> >>>>> Kenn >>>>> >>>>> On Thu, Feb 7, 2019 at 4:08 PM Alex Amato <ajam...@google.com> wrote: >>>>> >>>>>> Hello Beam community, I was thinking about this and found some >>>>>> information to share/discuss. Would it be possible to confirm my thinking >>>>>> on this: >>>>>> >>>>>> - There are 5 priorities in the JIRA system today (tooltip link >>>>>> >>>>>> <https://issues.apache.org/jira/secure/ShowConstantsHelp.jspa?decorator=popup#PriorityLevels> >>>>>> ): >>>>>> - >>>>>> - *Blocker* Blocks development and/or testing work, production >>>>>> could not run >>>>>> - *Critical* Crashes, loss of data, severe memory leak. >>>>>> - *Major* Major loss of function. >>>>>> - *Minor* Minor loss of function, or other problem where easy >>>>>> workaround is present. >>>>>> - *Trivial* Cosmetic problem like misspelt words or misaligned >>>>>> text. >>>>>> - How should JIRA issues be prioritized for pre/post commit test >>>>>> failures? >>>>>> - I think *Blocker* >>>>>> - What about the flakey failures? >>>>>> - *Blocker* as well? >>>>>> - How should non test issues be prioritized? (E.g. feature to >>>>>> implement or bugs not regularly breaking tests). >>>>>> - I suggest *Minor*, but its not clear how to distinguish >>>>>> between these. >>>>>> >>>>>> Below is my thinking: But I wanted to know what the Apache/Beam >>>>>> community generally thinks about these priorities. >>>>>> >>>>>> - *Blocker*: Expect to be paged. Production systems are down. >>>>>> - *Critical*: Expect to be contacted by email or a bot to fix >>>>>> this. >>>>>> - *Major*: Some loss of function in the repository, can issues >>>>>> that need to be addressed soon are here. >>>>>> - *Minor*: Most issues will be here, important issues within this >>>>>> will get picked up and completed. FRs, bugs. >>>>>> - *Trivial*: Unlikely to be implemented, far too many issues in >>>>>> this category. FRs, bugs. >>>>>> >>>>>> Thanks for helping to clear this up >>>>>> Alex >>>>>> >>>>> >> >> -- >> >> >> >> >> Got feedback? tinyurl.com/swegner-feedback >> >