On Thu, Apr 14, 2016 at 10:40 AM, John Sirois <jsir...@apache.org> wrote:

>
>
> On Thu, Apr 14, 2016 at 10:36 AM, Jake Farrell <jfarr...@apache.org>
> wrote:
>
>> completely agree, without passing CI we have no gauge on what impact a
>> patch could make and no guarantee that it will not destabilize the project.
>> I am a +1 to holding the 0.10.0 release candidate until we can get CI back
>> to green and kept that way
>>
>
> I'm very glad to hear this!
>
> I think I can be hands-off on the Jenkins Thrift-precommit job now.
> https://builds.apache.org/job/Thrift-precommit/418 is running with
> changes that include the equivalent of `git clean -fdx && git reset --hard
> HEAD` to get around the merge issue as well as more shimming in the docker
> image build to add a jenkins user to the image to avoid perms issues.
>

This would be the diff to examine for the committer who will pick this work
up:
https://builds.apache.org/job/Thrift-precommit/jobConfigHistory/showDiffFiles?timestamp1=2016-02-16_02-09-39&timestamp2=2016-04-14_16-15-43

NB: I only enable checking out into a subdir to work around root owned
poisoned files in the root of the workspace.  I don't have the necessary
perms to login to the jenkins machine and fix this; thus the workaround.
It could be undone by someone with perms.


>
>
>> -Jake
>>
>> On Thu, Apr 14, 2016 at 11:55 AM, John Sirois <jsir...@apache.org> wrote:
>>
>>>
>>>
>>> On Thu, Apr 14, 2016 at 9:52 AM, Jake Farrell <jfarr...@apache.org>
>>> wrote:
>>>
>>>> +1 to reducing this as much as possible so there is less maintenance
>>>> overhead and setup. Ideally i would love to see all this dockerized so we
>>>> are using a common base across the board and then either travis or jenkins
>>>> or locally can all run those containers with the same setup in docker and
>>>> the same outlined test scripts (which should be within the build folder) so
>>>> this is the same repeatable process where ever it is run from
>>>>
>>>
>>> I said this on another thread, but I think your and other comitter
>>> limited resources should be bent towards doing this now and not accepting
>>> patches, making changes or doing RCs.
>>>
>>> The thrift project feels untenable to contribute to with all the red
>>> CI.  After seeing this, I'm also growing disinclined towards depending on
>>> the tool in my projects.
>>> Maybe the thrift committers don't share this sense of priority, but to
>>> me a stable green CI is the foundation of any project, without it
>>> everything else crumbles.
>>>
>>>
>>>>
>>>>
>>>>
>>>> On Thu, Apr 14, 2016 at 11:41 AM, John Sirois <jsir...@apache.org>
>>>> wrote:
>>>>
>>>>> On Thu, Apr 14, 2016 at 9:34 AM, Aki Sukegawa <ns...@apache.org>
>>>>> wrote:
>>>>>
>>>>> > Quoting from my previous mail.
>>>>> >
>>>>> > > Other than Travis, make check is hanging for almost every build of
>>>>> > Jenkins.
>>>>> > > The log is not that clear but I think it's D test.
>>>>> > > AFAIK the test was running fine a few weeks ago and nobody touched
>>>>> it
>>>>> > since then.
>>>>> > > It might be due to insufficient resource on Jenkins.
>>>>> >
>>>>> > I suspect default task limit introduced in a recent version of
>>>>> docker is
>>>>> > not lifted on ASF jenkins.
>>>>> >
>>>>> > I'm not sure if it's worth maintaining sub-set of builds on another
>>>>> CI
>>>>> > that has relatively unstable basis that cannot even be touched by
>>>>> > committers.
>>>>> > Less resource is fine because it can detect failures on such
>>>>> platforms
>>>>> > like last time John enabled it.
>>>>> > But it's apparently changing.
>>>>> >
>>>>>
>>>>> Aha - that would be an interesting cause to the D hangs.
>>>>>
>>>>> I'm not clear on what you meant by the rest, but I assume you're
>>>>> addressing
>>>>> the confusing fact that thrift maintains 2 sets of broken CI jobs
>>>>> (fwict)
>>>>> for pull requests,  TravisCI and Apache Jenkins.
>>>>>
>>>>> It seems to me 4 steps are needed to provide baseline sanity for
>>>>> contributing to the project:
>>>>> 1. Halt accepting and changes immediately.
>>>>> 2. Pick Travis or Jenkins, kill the other.
>>>>> 3. Get the winner from 2 green.
>>>>> 4. Resume accepting patches that are green in CI and only green in CI.
>>>>>
>>>>>
>>>>> > On Thu, Apr 14, 2016 at 11:45 PM John Sirois <jsir...@apache.org>
>>>>> wrote:
>>>>> >
>>>>> >> On Thu, Apr 14, 2016 at 8:29 AM, John Sirois <jsir...@apache.org>
>>>>> wrote:
>>>>> >>
>>>>> >> >
>>>>> >> >
>>>>> >> > On Thu, Apr 14, 2016 at 8:14 AM, Jim King <
>>>>> jim.k...@simplivity.com>
>>>>> >> wrote:
>>>>> >> >
>>>>> >> >> I got one build through (which failed in "d" tests) and now it's
>>>>> stuck
>>>>> >> in
>>>>> >> >> the same state, see:
>>>>> >> >> https://builds.apache.org/job/Thrift-precommit/411/
>>>>> >> >>
>>>>> >> >> FATAL: Could not checkout master with start point origin/master
>>>>> >> >> hudson.plugins.git.GitException: Could not checkout master with
>>>>> start
>>>>> >> >> point origin/master
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:1962)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.checkoutBranch(AbstractGitAPIImpl.java:82)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> org.jenkinsci.plugins.gitclient.CliGitAPIImpl.checkoutBranch(CliGitAPIImpl.java:62)
>>>>> >> >>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>> Method)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> >> >>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:608)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:583)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:542)
>>>>> >> >>         at
>>>>> hudson.remoting.UserRequest.perform(UserRequest.java:120)
>>>>> >> >>         at
>>>>> hudson.remoting.UserRequest.perform(UserRequest.java:48)
>>>>> >> >>         at hudson.remoting.Request$2.run(Request.java:326)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
>>>>> >> >>         at
>>>>> java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>> >> >>         at java.lang.Thread.run(Thread.java:745)
>>>>> >> >>         at ......remote call to H10(Native Method)
>>>>> >> >>         at
>>>>> >> >>
>>>>> hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
>>>>> >> >>         at
>>>>> hudson.remoting.UserResponse.retrieve(UserRequest.java:220)
>>>>> >> >>         at hudson.remoting.Channel.call(Channel.java:781)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:250)
>>>>> >> >>         at com.sun.proxy.$Proxy115.checkoutBranch(Unknown Source)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> org.jenkinsci.plugins.gitclient.RemoteGitImpl.checkoutBranch(RemoteGitImpl.java:327)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> com.cloudbees.jenkins.plugins.git.vmerge.BuildChooserImpl.getCandidateRevisions(BuildChooserImpl.java:78)
>>>>> >> >>         at
>>>>> >> >>
>>>>> hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:951)
>>>>> >> >>         at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1054)
>>>>> >> >>         at hudson.scm.SCM.checkout(SCM.java:485)
>>>>> >> >>         at
>>>>> >> >> hudson.model.AbstractProject.checkout(AbstractProject.java:1276)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
>>>>> >> >>         at
>>>>> >> >>
>>>>> jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
>>>>> >> >>         at
>>>>> >> >>
>>>>> >>
>>>>> hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
>>>>> >> >>         at hudson.model.Run.execute(Run.java:1738)
>>>>> >> >>         at
>>>>> hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
>>>>> >> >>         at
>>>>> >> >>
>>>>> hudson.model.ResourceController.execute(ResourceController.java:98)
>>>>> >> >>         at hudson.model.Executor.run(Executor.java:410)
>>>>> >> >> Caused by: hudson.plugins.git.GitException: Command "git
>>>>> checkout -b
>>>>> >> >> master origin/master" returned status code 1:
>>>>> >> >> stdout: lib/lua/TCompactProtocol.lua: needs merge
>>>>> >> >>
>>>>> >> >> stderr: error: you need to resolve your current index first
>>>>> >> >>
>>>>> >> >> It looks like the build environment is not forced clean at the
>>>>> >> beginning
>>>>> >> >> of each build.
>>>>> >> >>
>>>>> >> >
>>>>> >> > Ack - looking now.
>>>>> >> >
>>>>> >> > It is odd that the git portion of these builds went sideways
>>>>> since the
>>>>> >> > Jenkins Job Config History auditing plugin shows the last change
>>>>> >> (before my
>>>>> >> > tweak last night) was 2016-02-16_02-09-39.  I expect jenkins or
>>>>> its
>>>>> >> plugins
>>>>> >> > were updated by infra causing the previously working job config
>>>>> to not
>>>>> >> work
>>>>> >> > any longer.
>>>>> >> >
>>>>> >>
>>>>> >> OK - that analysis was wrong, clearly there has been a change in
>>>>> the build
>>>>> >> itself that modifies source code and this causes the issue.
>>>>> >> I've enabled
>>>>> <hudson.plugins.git.extensions.impl.CleanBeforeCheckout/>
>>>>> >> with
>>>>> >> the following description:
>>>>> >>
>>>>> >> Clean up the workspace before every checkout by deleting all
>>>>> untracked
>>>>> >> files and directories, including those which are specified in
>>>>> .gitignore.
>>>>> >> It also resets all *tracked* files to their versioned state. This
>>>>> ensures
>>>>> >>
>>>>> >> that the workspace is in the same state as if you cloned and
>>>>> checked out
>>>>> >> in
>>>>> >> a brand-new empty directory, and ensures that your build is not
>>>>> affected
>>>>> >> by
>>>>> >> the files generated by the previous build.
>>>>> >>
>>>>> >> That sounds like ~ `git clean -fdx && git reset --hard HEAD` to me,
>>>>> which
>>>>> >> should do it. That should insulate CI from bad tests that modify
>>>>> checked
>>>>> >> in
>>>>> >> repo state, but those tests shouldn't exist either.
>>>>> >>
>>>>> >> COMMITTERS:
>>>>> >> I'd like to reiterate to any committers out there that red CI must
>>>>> be a
>>>>> >> hard bright line that is not crossed when accepting patches;
>>>>> otherwise
>>>>> >> well
>>>>> >> be right back here after getting this thing green again.  Here we
>>>>> is you -
>>>>> >> I won't be interested in helping out a third time if this relapses.
>>>>> >>
>>>>> >>
>>>>> >> >
>>>>> >> >> - Jim
>>>>> >> >>
>>>>> >> >> -----Original Message-----
>>>>> >> >> From: Jim King
>>>>> >> >> Sent: Wednesday, April 13, 2016 10:34 PM
>>>>> >> >> To: dev@thrift.apache.org; 'jsir...@apache.org' <
>>>>> jsir...@apache.org>
>>>>> >> >> Subject: RE: Build Failures
>>>>> >> >>
>>>>> >> >> The builds were failing claiming that a file was in the middle
>>>>> of being
>>>>> >> >> merged and they were all failing early.
>>>>> >> >> I think the build environment itself is compromised and there's
>>>>> >> nothing I
>>>>> >> >> can do about that.
>>>>> >> >>
>>>>> >> >> -----Original Message-----
>>>>> >> >> From: John Sirois [mailto:jsir...@apache.org]
>>>>> >> >> Sent: Wednesday, April 13, 2016 9:58 PM
>>>>> >> >> To: dev@thrift.apache.org
>>>>> >> >> Subject: Re: Build Failures
>>>>> >> >>
>>>>> >> >> On Wed, Apr 13, 2016 at 7:54 PM, John Sirois <jsir...@apache.org
>>>>> >
>>>>> >> wrote:
>>>>> >> >>
>>>>> >> >> >
>>>>> >> >> >
>>>>> >> >> > On Wed, Apr 13, 2016 at 7:51 PM, Jim King <
>>>>> jim.k...@simplivity.com>
>>>>> >> >> wrote:
>>>>> >> >> >
>>>>> >> >> >> I’m still looking for answers on pull request build failures.
>>>>> >> >> >>
>>>>> >> >> >> I have 2 or 3 PRs open right now and they’ve failed in the
>>>>> apache
>>>>> >> >> >> precommit builds for strange reasons.
>>>>> >> >> >>
>>>>> >> >> >> The apache internal builds seem to be failing.
>>>>> >> >> >>
>>>>> >> >> >
>>>>> >> >> > I think the answer is the breaks need a fixer; hopefully you
>>>>> can find
>>>>> >> >> > time to help fix.
>>>>> >> >> >
>>>>> >> >> > I say this because I started down a series of patches to the
>>>>> java
>>>>> >> >> > codegen/lib a while back and found a similar state - though on
>>>>> the
>>>>> >> >> > pull request builder (apache jenkins).  I stopped my java
>>>>> stuff and
>>>>> >> >> > fixed that CI with the help of Aki and Jake reviewing and
>>>>> providing
>>>>> >> >> > guidance.  I am not a thrift comitter.
>>>>> >> >> >
>>>>> >> >>
>>>>> >> >> I will say that its discouraging that that CI is now solid red
>>>>> too:
>>>>> >> >> https://builds.apache.org/job/Thrift-precommit/
>>>>> >> >> Part of the answer IMO is for committers to hold a hard line on
>>>>> >> accepting
>>>>> >> >> any patch, or pushing their own, w/o full green CIs.
>>>>> >> >>
>>>>> >> >>
>>>>> >> >> >
>>>>> >> >> >
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >> [image: Description: Description: simplivity-lg-xsmall]
>>>>> >> >> >>
>>>>> >> >> >> James E. King, III
>>>>> >> >> >>
>>>>> >> >> >> Architect
>>>>> >> >> >>
>>>>> >> >> >> 8 Technology Drive, 2nd Floor
>>>>> >> >> >> Westborough, MA 01581-1756
>>>>> >> >> >>
>>>>> >> >> >> Ph: 855-SVT-INFO
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >> ------------------------------
>>>>> >> >> >> PRIVACY STATEMENT:
>>>>> >> >> >> This message is a PRIVATE communication. This message and all
>>>>> >> >> >> attachments are a private communication sent by SimpliVity
>>>>> and are
>>>>> >> >> >> considered to be confidential or protected by privilege. If
>>>>> you are
>>>>> >> >> >> not the intended recipient, you are hereby notified that any
>>>>> >> >> >> disclosure, copying, distribution or use of the information
>>>>> >> contained
>>>>> >> >> >> in or attached to this message is strictly prohibited. Please
>>>>> notify
>>>>> >> >> >> the sender of the delivery error by replying to this message,
>>>>> and
>>>>> >> then
>>>>> >> >> delete it from your system.
>>>>> >> >> >> For more information please visit http://www.simplivity.com
>>>>> >> >> >> ------------------------------
>>>>> >> >> >>
>>>>> >> >> >
>>>>> >> >> >
>>>>> >> >>
>>>>> >> >>
>>>>> >>
>>>>> ---------------------------------------------------------------------------------------
>>>>> >> >> PRIVACY STATEMENT:
>>>>> >> >> This message is a PRIVATE communication.  This message and all
>>>>> >> >> attachments are a private communication sent by SimpliVity and
>>>>> are
>>>>> >> >> considered to be confidential or protected by privilege. If you
>>>>> are
>>>>> >> not the
>>>>> >> >> intended recipient, you are hereby notified that any disclosure,
>>>>> >> copying,
>>>>> >> >> distribution or use of the information contained in or attached
>>>>> to this
>>>>> >> >> message is strictly prohibited.  Please notify the sender of the
>>>>> >> delivery
>>>>> >> >> error by replying to this message, and then delete it from your
>>>>> system.
>>>>> >> >>
>>>>> >> >>
>>>>> >>
>>>>> ---------------------------------------------------------------------------------------
>>>>> >> >>
>>>>> >> >
>>>>> >> >
>>>>> >>
>>>>> >
>>>>>
>>>>
>>>>
>>>
>>
>

Reply via email to