Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-30383

SynchronousNonBlockingStepExecution should allow restart of idempotent steps

    Details

    • Similar Issues:

      Description

      It appears as though if the Jenkins master crashes whilst it is archiving artifacts then the workflow fails to resume.

      archiveArtifacts should be idempotent so it should be able to try again (if the slave / workspace still exists) In this case they should as I was only using dumb slaves.

      THe message should also say which step (class) could not be resumed - as I am just guessing it was the last one before the "resuming build" message

      ...
      Running: Stash some files to be used later in the build
      14:23:10 Stashed 1 file(s)
      Running: Allocate node : Body : End
      Running: Allocate node : End
      Running: Change Directory : Start
      14:23:11 Running in /home/jenkins/slave/workspace/automated_release/packaging/target
      Running: Change Directory : Body : Start
      Running: Change Directory : Start
      14:23:11 Running in /home/jenkins/slave/workspace/automated_release/packaging/target/msi
      Running: Change Directory : Body : Start
      Running: Restore files previously stashed
      Running: Change Directory : Body : End
      Running: Change Directory : End
      Running: Change Directory : Body : End
      Running: Change Directory : End
      Running: Change Directory : Start
      14:23:29 Running in /home/jenkins/slave/workspace/automated_release/packaging/target
      Running: Change Directory : Body : Start
      Running: Archive Artifacts
      Resuming build
      Running: Change Directory : Body : End
      Running: Change Directory : End
      Running: Change Directory : Body : End
      Running: Change Directory : End
      Running: General Build Wrapper : Body : End
      Running: General Build Wrapper : End
      Running: Allocate node : Body : End
      Running: Allocate node : End
      Running: End of Workflow
      java.lang.Exception: Resume after a restart not supported for non-blocking synchronous steps
      	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution.onResume(AbstractSynchronousNonBlockingStepExecution.java:73)
      	at org.jenkinsci.plugins.workflow.flow.FlowExecutionList$ItemListenerImpl$1.onSuccess(FlowExecutionList.java:176)
      	at org.jenkinsci.plugins.workflow.flow.FlowExecutionList$ItemListenerImpl$1.onSuccess(FlowExecutionList.java:172)
      	at com.google.common.util.concurrent.Futures$6.run(Futures.java:975)
      	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253)
      	at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:149)
      	at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:134)
      	at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:170)
      	at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)
      	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$5.onSuccess(CpsFlowExecution.java:627)
      	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$5.onSuccess(CpsFlowExecution.java:605)
      	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$4$1.run(CpsFlowExecution.java:546)
      	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$1.run(CpsVmExecutorService.java:32)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
      	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Finished: FAILURE
      

        Attachments

          Issue Links

            Activity

            Hide
            jglick Jesse Glick added a comment -

            Has been discussed. Certain steps could indeed be idempotent. Not sure about this one; probably yes.

            Show
            jglick Jesse Glick added a comment - Has been discussed. Certain steps could indeed be idempotent. Not sure about this one; probably yes.
            Hide
            atikhono Anna Tikhonova added a comment -

            Same thing with SCMStep. Are you considering it? Jesse Glick James Nord

            Show
            atikhono Anna Tikhonova added a comment - Same thing with SCMStep. Are you considering it? Jesse Glick James Nord
            Hide
            jglick Jesse Glick added a comment -

            Not currently planning to work on it; one of many useful things to do.

            Show
            jglick Jesse Glick added a comment - Not currently planning to work on it; one of many useful things to do.
            Hide
            jglick Jesse Glick added a comment -

            Sam Van Oort FYI this code makes it an error currently.

            Show
            jglick Jesse Glick added a comment - Sam Van Oort FYI this code makes it an error currently.
            Hide
            vmassol Vincent Massol added a comment -

            FTR just got the following on XWiki's CI:

            ...
            [main] ➡ Build has failed, sending mails to concerned parties
            [Pipeline] [main] emailext
            Resuming build at Fri Feb 23 18:55:45 CET 2018 after Jenkins restart
            Ready to run at Fri Feb 23 18:55:50 CET 2018
            [Pipeline] [main] }
            [Pipeline] [main] // stage
            [Pipeline] [main] }
            [Pipeline] [main] // node
            [Pipeline] [main] }
            [main] Failed in branch main
            [Pipeline] // parallel
            [Pipeline] }
            [Pipeline] // stage
            [Pipeline] End of Pipeline
            
            GitHub has been notified of this commit’s build result
            
            java.lang.Exception: Resume after a restart not supported for non-blocking synchronous steps
            	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution.onResume(AbstractSynchronousNonBlockingStepExecution.java:70)
            	at org.jenkinsci.plugins.workflow.flow.FlowExecutionList$ItemListenerImpl$1.onSuccess(FlowExecutionList.java:185)
            	at org.jenkinsci.plugins.workflow.flow.FlowExecutionList$ItemListenerImpl$1.onSuccess(FlowExecutionList.java:180)
            	at com.google.common.util.concurrent.Futures$6.run(Futures.java:975)
            	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253)
            	at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:149)
            	at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:134)
            	at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:170)
            	at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)
            	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$5.onSuccess(CpsFlowExecution.java:835)
            	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$5.onSuccess(CpsFlowExecution.java:813)
            	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$4$1.run(CpsFlowExecution.java:746)
            	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$1.run(CpsVmExecutorService.java:35)
            	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
            	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
            	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
            	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
            	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            	at java.lang.Thread.run(Thread.java:748)
            Finished: FAILURE
            

            The exception seems related.

            You can see it live at http://ci.xwiki.org/job/XWiki/job/xwiki-platform/job/stable-9.11.x/74/console

            Show
            vmassol Vincent Massol added a comment - FTR just got the following on XWiki's CI: ... [main] ➡ Build has failed, sending mails to concerned parties [Pipeline] [main] emailext Resuming build at Fri Feb 23 18:55:45 CET 2018 after Jenkins restart Ready to run at Fri Feb 23 18:55:50 CET 2018 [Pipeline] [main] } [Pipeline] [main] // stage [Pipeline] [main] } [Pipeline] [main] // node [Pipeline] [main] } [main] Failed in branch main [Pipeline] // parallel [Pipeline] } [Pipeline] // stage [Pipeline] End of Pipeline GitHub has been notified of this commit’s build result java.lang.Exception: Resume after a restart not supported for non-blocking synchronous steps at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution.onResume(AbstractSynchronousNonBlockingStepExecution.java:70) at org.jenkinsci.plugins.workflow.flow.FlowExecutionList$ItemListenerImpl$1.onSuccess(FlowExecutionList.java:185) at org.jenkinsci.plugins.workflow.flow.FlowExecutionList$ItemListenerImpl$1.onSuccess(FlowExecutionList.java:180) at com.google.common.util.concurrent.Futures$6.run(Futures.java:975) at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253) at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:149) at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:134) at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:170) at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$5.onSuccess(CpsFlowExecution.java:835) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$5.onSuccess(CpsFlowExecution.java:813) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$4$1.run(CpsFlowExecution.java:746) at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$1.run(CpsVmExecutorService.java:35) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Finished: FAILURE The exception seems related. You can see it live at http://ci.xwiki.org/job/XWiki/job/xwiki-platform/job/stable-9.11.x/74/console
            Hide
            xbmono Mohammad Norouzi added a comment -

            What's the workaround for this issue? How can we get our job to work? They keep throwing this exception and they fail

            Show
            xbmono Mohammad Norouzi added a comment - What's the workaround for this issue? How can we get our job to work? They keep throwing this exception and they fail

              People

              • Assignee:
                Unassigned
                Reporter:
                teilo James Nord
              • Votes:
                9 Vote for this issue
                Watchers:
                12 Start watching this issue

                Dates

                • Created:
                  Updated: