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

Ability to disable Pipeline durability and "resume" build.

    • 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.

          [JENKINS-33761] Ability to disable Pipeline durability and "resume" build.

          Jim Tilander created issue -

          Jesse Glick added a comment -

          each time a job tries to resume it hangs infinitely

          If you can describe how to reproduce from scratch, I will try to fix it. Surviving Jenkins restarts is a key feature of Pipeline.

          Jesse Glick added a comment - each time a job tries to resume it hangs infinitely If you can describe how to reproduce from scratch, I will try to fix it. Surviving Jenkins restarts is a key feature of Pipeline.
          Jesse Glick made changes -
          Epic Link New: JENKINS-35399 [ 171192 ]

          Nenad Miksa added a comment -

          Well, in my case I have 7 parallel tasks running heavy shell scripts (scripts run cmake builds and ctest tests). Resuming build after restart starts the scripts from the beginning (which is basically the same as starting the whole job anew) and the worst part is that although 7 parallel branches are being executed, all executors are free, thus making possible for Jenkins to trigger another build and hog up the server resources.

          Nenad Miksa added a comment - Well, in my case I have 7 parallel tasks running heavy shell scripts (scripts run cmake builds and ctest tests). Resuming build after restart starts the scripts from the beginning (which is basically the same as starting the whole job anew) and the worst part is that although 7 parallel branches are being executed, all executors are free, thus making possible for Jenkins to trigger another build and hog up the server resources.
          Lars Meynberg made changes -
          Link New: This issue is related to JENKINS-28183 [ JENKINS-28183 ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 169740 ] New: JNJira + In-Review [ 183632 ]
          Andrew Bayer made changes -
          Component/s New: pipeline-general [ 21692 ]
          Andrew Bayer made changes -
          Component/s Original: workflow-plugin [ 18820 ]

          Jesse Glick added a comment -

          Resuming build after restart starts the scripts from the beginning

          Never heard of such a bug and cannot even imagine how it could occur. If you have steps to reproduce from scratch, please file separately.

          Jesse Glick added a comment - Resuming build after restart starts the scripts from the beginning Never heard of such a bug and cannot even imagine how it could occur. If you have steps to reproduce from scratch, please file separately.
          Jesse Glick made changes -
          Component/s New: workflow-job-plugin [ 21716 ]
          Component/s Original: pipeline [ 21692 ]

            svanoort Sam Van Oort
            jtilander Jim Tilander
            Votes:
            47 Vote for this issue
            Watchers:
            55 Start watching this issue

              Created:
              Updated:
              Resolved: