-
New Feature
-
Resolution: Fixed
-
Major
-
-
Blue Ocean 1.4 - beta 2, Pipeline - December
Having some state being generated at the each node during execution, resuming builds after jenkins restarts or nodes reboots are just not feasible sometimes and can result in infinite hangs in some cases. Also, providing durability results in extensive writes to disk that can bring performance crashing down.
It would be great to be able to specify that jobs don't resume upon interruptions, but rather just fail. This would increase the robustness of the system ideally, since upon nodes restarting, they quickly pick up jobs that tries to resume and hangs exhausting all available executors quickly.
Implementation notes:
- Requires a new OptionalJobProperty on the job, optionally a new BranchProperty in workflow-multibranch-plugin that echoes that same property
- Needs some way to signal to storage (workflow-support) and execution (workflow-cps) that the pipeline is running with resume OFF to hint that they can use faster nondurable execution.
- is blocked by
-
JENKINS-49961 NPE from CpsFlowExecution.saveOwner
-
- Resolved
-
- is duplicated by
-
JENKINS-37475 Add a configurable switch on job that causes CPS to silently not continue on non-serializable code
-
- Resolved
-
- is related to
-
JENKINS-28183 Hard killed job's stage blocks stage in following jobs
-
- Resolved
-
-
JENKINS-45917 [Jenkins v2.63] Build queue deadlocks
-
- Closed
-
-
JENKINS-47173 Offer a high-performance storage engine for pipeline at some cost to resumability
-
- Closed
-
-
JENKINS-47390 Allow durable task step to, uh, not be. Durable, that is.
-
- Open
-
- relates to
-
JENKINS-36013 Automatically abort ExecutorPickle rehydration from an ephemeral node
-
- Closed
-
-
JENKINS-49079 Copy job properties for new branch project from base/default branch
-
- Open
-
- links to
I would also like to see the ability to restart a Jenkins master without it restarting or resuming any pipeline builds. Before restarting Jenkins to change a startup parameter, I verified my Jenkins master server was idle with no jobs running on master or slave executors. After the restart I saw the following errors in the log file and an attempt was made to resume builds 38, 107, and 108 all which are weeks old. It appears one of these builds was originally hung on "java.lang.InterruptedException" and the other two were hung on "org.jenkinsci.plugins.workflow.steps.FlowInterruptedException". The information used in these builds is obsolete and I prefer a Jenkins master restart to not resume any builds. These builds did not resume properly and I had to force stop them anyways.