Just a quick update on this discussion... On Friday we were able to post an initial PR for the component versioning work [1].
I believe we are ready to move forward with a release of the NAR Maven plugin, there are three tickets to be included in the release [2]. If there are no objections, I can take on the release manager duties for the NAR plugin, and can begin to kick off the process tomorrow. -Bryan [1] https://github.com/apache/nifi/pull/1585 [2] https://issues.apache.org/jira/browse/NIFI-3589?jql=fixVersion%20%3D%20nifi-nar-maven-plugin-1.2.0%20AND%20project%20%3D%20NIFI On Wed, Mar 8, 2017 at 6:19 PM, James Wing <jvw...@gmail.com> wrote: > +1 for component versioning in 1.2.0, it will be a solid capstone feature. > And I agree it's probably not holding up the release. > > Thanks, > > James > > On Wed, Mar 8, 2017 at 1:21 PM, Bryan Bende <bbe...@gmail.com> wrote: > >> James, >> >> No problem :) >> >> I was mostly just suggesting an overall strategy... >> >> Usually when we start closing in on a release we go through the JIRAs >> tagged for that release and try to figure out which ones can be moved >> to a future release, and which ones the community is actually working >> on and close to being ready. Currently we have 39 unresolved JIRAs >> that are tagged as 1.2, one of which is NIFI-3380, and I figured if >> someone looked at the ticket it might look like no work had been done >> and figure that it can just be moved to next release, so I just wanted >> to mention that it is very close to being ready was still hoping for >> it be in 1.2, unless there was strong opinion to move on without it. >> Even if we moved on without it, I believe there is still a bit of work >> to do in that we still need a release manager and we need to decide >> what to do with the 39 JIRAs. >> >> As far as the new NAR plugin and how things will work... >> >> The changes to the NAR plugin add additional information to the >> MANIFEST file in the NAR. Technically existing NiFi would have no >> problem reading the new MANIFEST file because no entries are being >> removed, and the branch I have with the component versioning code for >> NiFi could also run against old NARs that don't have the new entries, >> you just see everything as being "unversioned" and can't actually make >> use of the new capabilities. We'll always have to be able to run older >> NARs because there are tons of custom NARs out there that have not >> been (and may never be) rebuilt with the newer version of the plugin, >> which is fine, they only need to be rebuilt if someone wants to run >> two versions of that NAR at the same time. >> >> Happy to elaborate more on any of the component versioning work if >> anyone is interested. >> >> Thanks, >> >> Bryan >> >> >> On Wed, Mar 8, 2017 at 2:43 PM, Russell Bateman <r...@windofkeltia.com> >> wrote: >> > +1 for component versioning in NiFi 1.2! >> > >> > >> > On 03/08/2017 12:40 PM, James Wing wrote: >> >> >> >> Bryan, I'm 100% in favor of you and Matt Gilman doing all the hard work. >> >> Oh, and uh... thanks! :) >> >> >> >> So the alternatives are: >> >> a.) Release 1.2.0 sooner (?), but without component versioning >> >> b.) Delay 1.2.0 (?) to incorporate component versioning >> >> >> >> Will the NAR plugin alone commit us to all of the component versioning >> >> work >> >> in 1.2, or will the new NAR format be backward-compatible? Or is the >> >> question more about the strategy for 1.2.0? >> >> >> >> >> >> Thanks, >> >> >> >> James >> >> >> >> On Wed, Mar 8, 2017 at 9:06 AM, Bryan Bende <bbe...@gmail.com> wrote: >> >> >> >>> Just wanted to mention that one of the JIRAs tagged for 1.2.0 is >> >>> NIFI-3380 "support multiple versions of the same component" [1] and >> >>> I've been working with Matt Gilman on this [2]. The functionality is >> >>> very close to being done and I think we should get this into the 1.2.0 >> >>> release. >> >>> >> >>> In order to fully leverage the versioned components we will need to >> >>> release an updated Maven NAR plugin, so we would do that first and >> >>> then release 1.2.0 using the new plugin. If everyone is on-board with >> >>> this plan then I can advise when we are ready to release the new >> >>> plugin which would be soon. >> >>> >> >>> [1] https://issues.apache.org/jira/browse/NIFI-3380 >> >>> [2] https://github.com/bbende/nifi/tree/NIFI-3380 >> >>> >> >>> On Fri, Mar 3, 2017 at 9:56 AM, Joe Gresock <jgres...@gmail.com> >> wrote: >> >>>> >> >>>> This is good discussion that should continue, but what about the >> >>>> original >> >>>> intent of Joe's post? "Is there any reason folks can think of to hold >> >>> >> >>> off >> >>>> >> >>>> on a 1.2.0 release?" >> >>>> >> >>>> On Fri, Mar 3, 2017 at 1:45 PM, Mark Payne <marka...@hotmail.com> >> wrote: >> >>>> >> >>>>> 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:a >> >>>>> >> >>>>> lopre...@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:m >> >>>>> arka...@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:a >> >>>>> >> >>>>> lopre...@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:alo >> >>>>> pre...@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:m >> >>>>> arka...@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:alo >> >>>>> pre...@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 >> >>>>> >> >>>>> >> >>>> >> >>>> -- >> >>>> I know what it is to be in need, and I know what it is to have plenty. >> >>>> I >> >>>> have learned the secret of being content in any and every situation, >> >>>> whether well fed or hungry, whether living in plenty or in want. I >> can >> >>> >> >>> do >> >>>> >> >>>> all this through him who gives me strength. *-Philippians 4:12-13* >> > >> > >>