Andy, Sorry, i haven't responded to this thread in over a week, but I think it's important to keep going.
I just clicked "Cancel Patch" on one of my ticket that has a patch available to see which state it returned to. It did in fact go back to Open. Which I agree is less than ideal. Though we could certainly have a process by which we change the status to "In Progress" after canceling the patch. I guess where my viewpoint differs from yours is in the meaning of "In Review." Let's say that you submit a patch for a JIRA. I then review it and find that it needs some work - let's say there's an issue with licensing not being properly accounted for, for instance. At that point, I no longer consider the patch that you provided to be "In Review." I believe the patch should be canceled, and you will need to submit a new patch. I guess that I view a patch as being an immutable entity. On Feb 24, 2017, at 7:26 PM, Andy LoPresto <alopre...@apache.org<mailto:alopre...@apache.org>> wrote: Mark, Your understanding of “Patch Available” certainly makes sense and it explains why you approach the process the way you do. I have a slightly different personal understanding of “Patch Available” — I read it to mean “the person responsible for this Jira has contributed code they feel solves the issue.” A review will (hopefully) determine if that assertion is correct and complete. I think we kind of agree on "my viewpoint is simply that "Patch Available" means "Awaiting Review" or "In Review.”” but I see “In Review” as a potentially iterative process — it could be on the second pass of the contributor responding to comments, but it’s still “In Review” in my eyes. I don’t know that the granularity of Jira supports the specific workflow states of “been reviewed once but not complete/accepted yet”. What state does “Cancel Patch” result in? If it just reverts to “Open”, I don’t see the value because that obfuscates the difference between a Jira that hasn’t even been touched and one that has 90% of the code done. I agree we should make the RM’s job easier, but I also think it doesn’t help the visibility for reviewers to see a Jira marked as “open” when there is the potential for that patch to be ready for merge in a very short amount of time. I think these conversations will ultimately help us narrow in on shared definitions that make sense to everyone though, so I’m glad we’re talking about it. Andy LoPresto alopre...@apache.org<mailto:alopre...@apache.org> alopresto.apa...@gmail.com<mailto:alopresto.apa...@gmail.com> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4 BACE 3C6E F65B 2F7D EF69 On Feb 24, 2017, at 1:07 PM, Mark Payne <marka...@hotmail.com<mailto:marka...@hotmail.com>> wrote: Andy, If the reviewer is looking for clarification, then it may make sense to leave the JIRA in "Patch Available" state as you suggest. If there are minor fixes needed, though, then the patch is not ready. In JIRA, the verbiage for Cancel Patch says "The patch is not yet ready to be committed." So if minor fixes are needed, then I believe it is appropriate to Cancel Patch. Once those changes (minor or not) are made and the PR updated, then the PR needs review again and the status should be changed back to "Patch Available" again. I guess my viewpoint is simply that "Patch Available" means "Awaiting Review" or "In Review." If it is awaiting changes of some kind and won't be merged as-is, then we should Cancel Patch. Do you or others have differing views on the meaning of "Patch Available"? Thanks -Mark On Feb 24, 2017, at 3:27 PM, Andy LoPresto <alopre...@apache.org<mailto:alopre...@apache.org><mailto:alopre...@apache.org>> wrote: Mark, I like your point about updating the Jira with the Fix Version at the time the PR review begins (or when the PR is submitted, if the contributor is aware of this process). I think it’s better than waiting for the merge, as I proposed before. I agree that the reviewer is responsible for keeping the Jira updated in line with their work. I don’t know if I am on the same page as you for “Cancel Patch” if the PR needs changes; sometimes these are minor fixes or just looking for clarification from the contributor, and I don’t think that warrants canceling the availability of the patch. If they are major architectural changes, then that makes more sense to me. Andy LoPresto alopre...@apache.org<mailto:alopre...@apache.org><mailto:alopre...@apache.org> alopresto.apa...@gmail.com<mailto:alopresto.apa...@gmail.com><mailto:alopresto.apa...@gmail.com> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4 BACE 3C6E F65B 2F7D EF69 On Feb 24, 2017, at 12:08 PM, Mark Payne <marka...@hotmail.com<mailto:marka...@hotmail.com><mailto:marka...@hotmail.com>> wrote: Personally, I am afraid that if we don't set a Fix Version on JIRA's, that some PR's will be lost or stalled. I rarely go to github and start looking through the PRs. Instead, I go to JIRA and look at what is assigned with a fixVersion of the next release. Then I'll go and review JIRA's that are in a state of "Patch Available." Even then I often come across many PR's that have already been reviewed by one or more other committers and are awaiting updates. So I propose that we address this slightly differently. I believe that we should assign a Fix Version to a JIRA whenever a PR is submitted. Then, whenever a committer reviews a PR, he/she should be responsible for updating the JIRA. If the PR is merged then the JIRA should be resolved as Fixed. But if the PR is not merged because some changes are needed, the reviewer should then go back to the JIRA and click 'Cancel Patch'. We are typically very good about resolving as fixed once a PR is merged, but we don't typically cancel the patch otherwise. If we followed this workflow, then a Release Manager (or anyone else) can easily see which tickets need to be reviewed before a release happens and which ones can be pushed out because they are not ready (even if a PR has been posted). It also makes it much easier for reviewers to quickly know which tickets are awaiting review. Thoughts? -Mark On Feb 23, 2017, at 3:37 AM, Andy LoPresto <alopresto.apa...@gmail.com<mailto:alopresto.apa...@gmail.com><mailto:alopresto.apa...@gmail.com>> wrote: As someone who has surely been guilty of optimistically setting fix versions and then not meeting them, I second Joe's point about it holding up releases. Better to get the PR out, reviewed, and merged *before* setting the fix version in my opinion. Andy LoPresto alopre...@apache.org<mailto:alopre...@apache.org><mailto:alopre...@apache.org> alopresto.apa...@gmail.com<mailto:alopresto.apa...@gmail.com><mailto:alopresto.apa...@gmail.com> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4 BACE 3C6E F65B 2F7D EF69 On Feb 22, 2017, at 19:39, Joe Witt <joe.w...@gmail.com<mailto:joe.w...@gmail.com>> wrote: Peter, This is just my preference so discussion is certainly open. But the way I see it we should not set the fix version on JIRAs unless they really should block a release without resolution or if due to some roadmap/planning/discussion it is a new feature/improvement that is tied to a release. Otherwise, for the many things which pop up throughout a given release cycle they should be avoided. That is to say the majority of the time we'd avoid fix versions until the act of merging a contribution which also means it has been reviewed. From the release management point of view: This approach helps greatly as until now it is has been really difficult and time consuming to pull together/close down a release as pretty much anyone can set these fix versions and make it appear as though the release is not ready when in reality it is perfectly releasable as-is but might miss out on some contribs that someone would like to see in the release but has as of yet not gotten the PR and/or review traction necessary. From the contributor point of view: If someone makes a contribution they obviously want that code to end up in a release. But being an RTC community we need and want peer review before the code is submitted. Some contributions are frankly hard to get peer review on or simply take time for someone to volunteer to do. PRs which are difficult to test, lack testing, are related to systems or environments which are not easily replicated, etc.. are inherently harder to get peer review for. Also, the community has grown quite rapidly and sometimes the hygiene of a given PR isn't great. So our 'patch available' and 'open PR' count ticks up. We need reviews/feedback as much as we need contributions so it is important for folks that want those contributions in to build meritocracy as well in reviewing others contributions. This helps build a network of contributors/reviewers and improves the timeliness of reviews. Long story short here is that because at times PRs can sit too long sometimes people put a fix version on the JIRA so it acts as a sort of 'gating function' on the release. This I am saying is the practice that should not occur (given the thoughts above). We should instead take the issue of how to more effectively triage/review/provide feedback/and manage expectations for contributions so contributors don't feel like their stuff will just sit forever. Does that make sense and seem fair? Thanks Joe On Wed, Feb 22, 2017 at 2:39 PM, Peter Wicks (pwicks) <pwi...@micron.com<mailto:pwi...@micron.com>> wrote: Just for clarification, "We really need to avoid the practice of setting fix versions without traction", would mean don't set a version number until after we've submitted a PR? Until after the PR has been closed? Other? Thanks, Peter -----Original Message----- From: Joe Witt [mailto:joe.w...@gmail.com] Sent: Wednesday, February 22, 2017 12:55 PM To: dev@nifi.apache.org<mailto:dev@nifi.apache.org> Subject: Closing in on a NiFi 1.2.0 release? team, On the users lists we had an ask of when we are planning to cut a 1.2.0 release. And someone else asked me recently off-list. There are 45 open JIRAs tagged to it as of now. https://issues.apache.org/jira/issues/?jql=project%20%3D%20NIFI%20AND%20fixVersion%20%3D%201.2.0%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC%2C%20key%20DESC I'd be favorable to going through and seeing if we can start the motions for a 1.2.0 release and which are ones we can wait for and which we should have in 1.2.0 for sure. Is there any reason folks can think of to hold off on a 1.2.0 release? A non trivial number of the JIRAs are for things which have or do not have PRs but have no review traction. We really need to avoid the practice of setting fix versions without traction on this as otherwise it holds up the releases. Thanks Joe