+1 on the merge. I am glad we agreed. Having Jira to track the CI effort is a good idea.
Thanks, --Konstantin On Mon, Mar 4, 2013 at 3:29 PM, Matt Foley <mfo...@hortonworks.com> wrote: > Thanks. I agree Windows -1's in test-patch should not block commits. > > --Matt > > > > On Mon, Mar 4, 2013 at 2:30 PM, Konstantin Shvachko <shv.had...@gmail.com> > wrote: >> >> On Mon, Mar 4, 2013 at 12:22 PM, Matt Foley <mfo...@hortonworks.com> >> wrote: >> > Konstantine, you have voted -1, and stated some requirements before >> > you'll >> > withdraw that -1. As I plan to do work to fulfill those requirements, I >> > want to make sure that what I'm proposing will, in fact, satisfy you. >> > That's why I'm asking, if we implement full "test-patch" integration for >> > Windows, does it seem to you that that would provide adequate support? >> >> Yes. >> >> > I have learned not to presume that my interpretation is correct. My >> > interpretation of item #1 is that test-patch provides pre-commit build, >> > so >> > it would satisfy item #1. But rather than assuming that I am >> > interpreting >> > it correctly, I simply want your agreement that it would, or if not, >> > clarification why it won't. >> >> I agree it will satisfy my item #1. >> I did not agree in my previous email, but I changed my mind based on >> the latest discussion. I have to explain why now. >> I was proposing nightly build because I did not want pre-commit build >> for Windows block commits to Linux. But if people are fine just ignoring >> -1s for the Windows part of the build it should be good. >> >> > Regarding item #2, it is also my interpretation that test-patch provides >> > an >> > on-demand (perhaps 20-minutes deferred) Jenkins build and unit test, >> > with >> > logs available to the developer, so it would satisfy item #2. But >> > rather >> > than assuming that I am interpreting it correctly, I simply want your >> > agreement that it would, or if not, clarification why it won't. >> >> It will satisfy my item #2 in the following way: >> I can duplicate your pre-commit build for Windows and add an input >> parameter, which would let people run the build on their patches >> chosen from local machine rather than attaching them to Jiras. >> >> Thanks, >> --Konstantin >> >> > In agile terms, you are the Owner of these requirements. Please give me >> > owner feedback as to whether my proposed work sounds like it will >> > satisfy >> > the requirements. >> > >> > Thank you, >> > --Matt >> > >> > >> > On Sun, Mar 3, 2013 at 12:16 PM, Konstantin Shvachko >> > <shv.had...@gmail.com> >> > wrote: >> >> >> >> Didn't I explain in details what I am asking for? >> >> >> >> Thanks, >> >> --Konst >> >> >> >> On Sun, Mar 3, 2013 at 11:08 AM, Matt Foley <mfo...@hortonworks.com> >> >> wrote: >> >> > Hi Konstantin, >> >> > I'd like to point out two things: >> >> > First, I already committed in this thread (email of Thu, Feb 28, 2013 >> >> > at >> >> > 6:01 PM) to providing CI for Windows builds. So please stop acting >> >> > like >> >> > I'm >> >> > resisting this idea or something. >> >> > Second, you didn't answer my question, you just kvetched about the >> >> > phrasing. >> >> > So I ask again: >> >> > >> >> > Will providing full "test-patch" integration (pre-commit build and >> >> > unit >> >> > test >> >> > triggered by Jira "Patch Available" state) satisfy your request for >> >> > functionality #1 and #2? Yes or no, please. >> >> > >> >> > Thanks, >> >> > --Matt >> >> > >> >> > >> >> > On Sat, Mar 2, 2013 at 7:32 PM, Konstantin Shvachko >> >> > <shv.had...@gmail.com> >> >> > wrote: >> >> >> >> >> >> Hi Matt, >> >> >> >> >> >> On Sat, Mar 2, 2013 at 12:32 PM, Matt Foley <mfo...@hortonworks.com> >> >> >> wrote: >> >> >> > Konstantin, >> >> >> > I would like to explore what it would take to remove this >> >> >> > perceived >> >> >> > impediment -- >> >> >> >> >> >> Glad you decided to explore. Thank you. >> >> >> >> >> >> > although I reserve the right to argue that this is not >> >> >> > pre-requisite to merging the cross-platform support patch. >> >> >> >> >> >> It's your right indeed. So as mine to question what the platform >> >> >> support means for you, which I believe remained unclear. >> >> >> I do not impede the change as you should have noticed. My >> >> >> requirement >> >> >> comes from my perception of the support, which means to me exactly >> >> >> two >> >> >> things: >> >> >> 1. The ability to recognise the code is broken for the platform >> >> >> 2. The ability to test new patches on the platform >> >> >> The latter is problematic, as many noticed in this thread, for those >> >> >> whose customary environment does not include Windows. >> >> >> >> >> >> > If we implemented full "test-patch" support for Windows on trunk, >> >> >> > would >> >> >> > that >> >> >> > fulfill both your items #1 and #2? Please note that: >> >> >> > a) Pushing the "Patch Available" button in Jira shall cause a >> >> >> > pre-commit >> >> >> > build to start within, I believe, 20 minutes. >> >> >> > b) That build keeps logs for both java build and unit tests for >> >> >> > several >> >> >> > days, that are accessible to all viewers. >> >> >> >> >> >> In item #1 I mostly asking for the nightly build, which is simpler >> >> >> than "test-patch". The latter would be ideal from the platform >> >> >> support >> >> >> viewpoint, but it is for the community to decide if we want to add >> >> >> extra +3 hours to the build. >> >> >> Nightly build in my understanding is triggered by the timer rather >> >> >> than by Jira's "submit patch" button. On Jenkins build >> >> >> configuration >> >> >> you can specify it under "Build periodically". >> >> >> >> >> >> > So, does this provide sufficient on-demand support that we don't >> >> >> > have >> >> >> > to >> >> >> > implement a whole new on-demand VM support structure of some sort >> >> >> > for >> >> >> > #2 >> >> >> > (which would be an extraordinary and impractical demand)? >> >> >> >> >> >> I did not mention VMs. Item #2 means a build, which runs >> >> >> "test-patch" >> >> >> target with the file specified by a user (instead of a jira >> >> >> attachment). >> >> >> When user clicks "Build Now" link a box is displayed where the user >> >> >> can enter the file path containing the patch. This can be specified >> >> >> in >> >> >> the Build Configuration under "This build is parameterized" by >> >> >> choosing AddParameter / FileParameter. The build can run on the same >> >> >> Windows machine as the nightly build. >> >> >> Such build will let people test their patches for Windows on Jenkins >> >> >> if they don't posses a license for the right version of Windows. >> >> >> I hope this will not turn into extraordinary or impractical effort. >> >> >> >> >> >> Thanks, >> >> >> --Konst >> >> >> >> >> >> > Thanks, >> >> >> > --Matt >> >> >> > >> >> >> > >> >> >> > On Fri, Mar 1, 2013 at 12:18 PM, Konstantin Shvachko >> >> >> > <shv.had...@gmail.com> >> >> >> > wrote: >> >> >> >> >> >> >> >> -1 >> >> >> >> We should have a CI infrastructure in place before we can commit >> >> >> >> to >> >> >> >> supporting Windows platform. >> >> >> >> >> >> >> >> Eric is right Win/Cygwin was supported since day one. >> >> >> >> I had a Windows box under my desk running nightly builds back in >> >> >> >> 2006-07. >> >> >> >> People were irritated but I was filing windows bugs until 0.22 >> >> >> >> release. >> >> >> >> Times changing and I am glad to see wider support for Win >> >> >> >> platform. >> >> >> >> >> >> >> >> But in order to make it work you guys need to put the CI process >> >> >> >> in >> >> >> >> place >> >> >> >> >> >> >> >> 1. windows jenkins build: could be nightly or PreCommit. >> >> >> >> - Nightly would mean that changes can be committed to trunk based >> >> >> >> on >> >> >> >> linux PreCommit build. And people will file bugs if the change >> >> >> >> broke >> >> >> >> Windows nightly build. >> >> >> >> - PreCommit-win build will mean automatic reporting failed tests >> >> >> >> to >> >> >> >> respective jira blocking commits the same way as it is now with >> >> >> >> linux >> >> >> >> PreCommit builds. >> >> >> >> We should discuss which way is more efficient for developers. >> >> >> >> >> >> >> >> 2. On-demand-windows Jenkins build. >> >> >> >> I see it as a build to which I can attach my patch and the build >> >> >> >> will >> >> >> >> run my changes on a dedicated windows box. >> >> >> >> That way people can test their changes without having personal >> >> >> >> windows >> >> >> >> nodes. >> >> >> >> >> >> >> >> I think this is the minimal set of requirement for us to be able >> >> >> >> to >> >> >> >> commit to the new platform. >> >> >> >> Right now I see only one windows related build >> >> >> >> https://builds.apache.org/view/Hadoop/job/Hadoop-1-win/ >> >> >> >> Which was failing since Sept 8, 2012 and did not run in the last >> >> >> >> month. >> >> >> >> >> >> >> >> Thanks, >> >> >> >> --Konst >> >> >> >> >> >> >> >> On Thu, Feb 28, 2013 at 8:47 PM, Eric Baldeschwieler >> >> >> >> <eri...@hortonworks.com> wrote: >> >> >> >> > +1 (non-binding) >> >> >> >> > >> >> >> >> > A few of observations: >> >> >> >> > >> >> >> >> > - Windows has actually been a supported platform for Hadoop >> >> >> >> > since >> >> >> >> > 0.1 >> >> >> >> > . >> >> >> >> > Doug championed supporting windows then and we've continued to >> >> >> >> > do >> >> >> >> > it >> >> >> >> > with >> >> >> >> > varying vigor over time. To my knowledge we've never made a >> >> >> >> > decision >> >> >> >> > to >> >> >> >> > drop windows support. The change here is improving our support >> >> >> >> > and >> >> >> >> > dropping >> >> >> >> > the requirement of cigwin. We had Nutch windows users on the >> >> >> >> > list >> >> >> >> > in >> >> >> >> > 2006 >> >> >> >> > and we've been supporting windows FS requirements since >> >> >> >> > inception. >> >> >> >> > >> >> >> >> > - A little pragmatism will go a long way. As a community we've >> >> >> >> > got >> >> >> >> > to >> >> >> >> > stay committed to keeping hadoop simple (so it does work on >> >> >> >> > many >> >> >> >> > platforms) >> >> >> >> > and extending it to take advantage of key emerging OS/hardware >> >> >> >> > features, >> >> >> >> > such as containers, new FSs, virtualization, flash ... We >> >> >> >> > should >> >> >> >> > all >> >> >> >> > plan >> >> >> >> > to let new features & optimizations emerge that don't work >> >> >> >> > everywhere, if >> >> >> >> > they are compelling and central to hadoop's mission of being >> >> >> >> > THE >> >> >> >> > best >> >> >> >> > fabric >> >> >> >> > for storing and processing big data. >> >> >> >> > >> >> >> >> > - A UI project like KDE has to deal with the MANY differences >> >> >> >> > between >> >> >> >> > windows and linux UI APIs. Hadoop faces no such complex >> >> >> >> > challenge >> >> >> >> > and hence >> >> >> >> > can be maintained from a single codeline IMO. It is mostly >> >> >> >> > abstracted from >> >> >> >> > the OS APIs via Java and our design choices. Where it is not >> >> >> >> > we >> >> >> >> > can >> >> >> >> > continue to add plugable abstractions. >> >> >> >> > >> >> >> > >> >> >> > >> >> > >> >> > >> > >> > > >