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

Incorrect implementation of RetryStepExecution.stop

      https://github.com/jenkinsci/workflow-plugin/commit/6be3d810597079905b6d19911bd40139ee4ec0eb purported to let stop kill its body. Yet this implementation can only work for the first round. For the second and subsequent rounds, the BodyExecution created by Callback.onFailure is thrown away, and body will still be the first one, which will presumably cause CpsBodyExecution.cancel to be a no-op since isDone().

      So somehow the Callback needs to get a handle back to its RetryStepExecution. But how? You could use StepExecution.applyAll to find all the candidates, but how would you select the right one if there are several? ExecutorStepExecution.Callback overloads cookie for this purpose, but that is used also for ProcessKiller; it seems like a hack here. ParallelStep uses ResultHandler, apparently assuming that identical objects are linked in the reference graph during serialization.

          [JENKINS-26148] Incorrect implementation of RetryStepExecution.stop

          Code changed in jenkins
          User: Sam Van Oort
          Path:
          pom.xml
          src/test/java/org/jenkinsci/plugins/workflow/support/actions/LogActionImplTest.java
          src/test/java/org/jenkinsci/plugins/workflow/test/steps/BlockSemaphoreStep.java
          src/test/java/org/jenkinsci/plugins/workflow/test/steps/SemaphoreStep.java
          http://jenkins-ci.org/commit/workflow-support-plugin/26d05449b5816f5f360221e3ca9ab871c8d3f912
          Log:
          Merge pull request #44 from jglick/StepExecution.stop-JENKINS-26148

          JENKINS-26148 Using default implementation of StepExecution.stop

          Compare: https://github.com/jenkinsci/workflow-support-plugin/compare/8637c4c8b12f...26d05449b581

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Sam Van Oort Path: pom.xml src/test/java/org/jenkinsci/plugins/workflow/support/actions/LogActionImplTest.java src/test/java/org/jenkinsci/plugins/workflow/test/steps/BlockSemaphoreStep.java src/test/java/org/jenkinsci/plugins/workflow/test/steps/SemaphoreStep.java http://jenkins-ci.org/commit/workflow-support-plugin/26d05449b5816f5f360221e3ca9ab871c8d3f912 Log: Merge pull request #44 from jglick/StepExecution.stop- JENKINS-26148 JENKINS-26148 Using default implementation of StepExecution.stop Compare: https://github.com/jenkinsci/workflow-support-plugin/compare/8637c4c8b12f...26d05449b581

          Jesse Glick added a comment -

          Still four open PRs by my count.

          Jesse Glick added a comment - Still four open PRs by my count.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/workflow/steps/CatchErrorStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/CoreWrapperStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/EnvStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/PushdStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/RetryStepExecution.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/SleepStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/TimeoutStepExecution.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/WaitForConditionStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/WithContextStep.java
          http://jenkins-ci.org/commit/workflow-basic-steps-plugin/906497e661b67c7a18a65c43ffd526f4dd7a5938
          Log:
          JENKINS-26148 Using default implementation of StepExecution.stop.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml src/main/java/org/jenkinsci/plugins/workflow/steps/CatchErrorStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/CoreWrapperStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/EnvStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/PushdStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/RetryStepExecution.java src/main/java/org/jenkinsci/plugins/workflow/steps/SleepStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/TimeoutStepExecution.java src/main/java/org/jenkinsci/plugins/workflow/steps/WaitForConditionStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/WithContextStep.java http://jenkins-ci.org/commit/workflow-basic-steps-plugin/906497e661b67c7a18a65c43ffd526f4dd7a5938 Log: JENKINS-26148 Using default implementation of StepExecution.stop.

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/workflow/steps/CatchErrorStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/CoreWrapperStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/EnvStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/PushdStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/RetryStepExecution.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/SleepStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/TimeoutStepExecution.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/WaitForConditionStep.java
          src/main/java/org/jenkinsci/plugins/workflow/steps/WithContextStep.java
          http://jenkins-ci.org/commit/workflow-basic-steps-plugin/1b1342da938666b4070f83f20f10d79b6d90ba51
          Log:
          Merge pull request #50 from jglick/StepExecution.stop-JENKINS-26148

          JENKINS-26148 Using default implementation of StepExecution.stop

          Compare: https://github.com/jenkinsci/workflow-basic-steps-plugin/compare/2a031297c8bb...1b1342da9386

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: pom.xml src/main/java/org/jenkinsci/plugins/workflow/steps/CatchErrorStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/CoreWrapperStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/EnvStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/PushdStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/RetryStepExecution.java src/main/java/org/jenkinsci/plugins/workflow/steps/SleepStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/TimeoutStepExecution.java src/main/java/org/jenkinsci/plugins/workflow/steps/WaitForConditionStep.java src/main/java/org/jenkinsci/plugins/workflow/steps/WithContextStep.java http://jenkins-ci.org/commit/workflow-basic-steps-plugin/1b1342da938666b4070f83f20f10d79b6d90ba51 Log: Merge pull request #50 from jglick/StepExecution.stop- JENKINS-26148 JENKINS-26148 Using default implementation of StepExecution.stop Compare: https://github.com/jenkinsci/workflow-basic-steps-plugin/compare/2a031297c8bb...1b1342da9386

          Code changed in jenkins
          User: Jesse Glick
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/workflow/support/steps/build/BuildTriggerStepExecution.java
          http://jenkins-ci.org/commit/pipeline-build-step-plugin/a7248f0db9b281df4551c4521e529c6d2d5437a5
          Log:
          JENKINS-26148 Using default implementation of StepExecution.stop.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml src/main/java/org/jenkinsci/plugins/workflow/support/steps/build/BuildTriggerStepExecution.java http://jenkins-ci.org/commit/pipeline-build-step-plugin/a7248f0db9b281df4551c4521e529c6d2d5437a5 Log: JENKINS-26148 Using default implementation of StepExecution.stop.

          Code changed in jenkins
          User: Sam Van Oort
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/workflow/support/steps/build/BuildTriggerStepExecution.java
          http://jenkins-ci.org/commit/pipeline-build-step-plugin/3ff14391fe27c8ee9ccea9ba1977131fe3b26dbe
          Log:
          Merge pull request #15 from jglick/StepExecution.stop-JENKINS-26148

          JENKINS-26148 Using default implementation of StepExecution.stop

          Compare: https://github.com/jenkinsci/pipeline-build-step-plugin/compare/269bccee2654...3ff14391fe27

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Sam Van Oort Path: pom.xml src/main/java/org/jenkinsci/plugins/workflow/support/steps/build/BuildTriggerStepExecution.java http://jenkins-ci.org/commit/pipeline-build-step-plugin/3ff14391fe27c8ee9ccea9ba1977131fe3b26dbe Log: Merge pull request #15 from jglick/StepExecution.stop- JENKINS-26148 JENKINS-26148 Using default implementation of StepExecution.stop Compare: https://github.com/jenkinsci/pipeline-build-step-plugin/compare/269bccee2654...3ff14391fe27

          Code changed in jenkins
          User: Jesse Glick
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/workflow/support/steps/StageStepExecution.java
          http://jenkins-ci.org/commit/pipeline-stage-step-plugin/f2f9f7d6096af3c6b53971a549b214032bd833f0
          Log:
          JENKINS-26148 Using default implementation of StepExecution.stop.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml src/main/java/org/jenkinsci/plugins/workflow/support/steps/StageStepExecution.java http://jenkins-ci.org/commit/pipeline-stage-step-plugin/f2f9f7d6096af3c6b53971a549b214032bd833f0 Log: JENKINS-26148 Using default implementation of StepExecution.stop.

          Code changed in jenkins
          User: Sam Van Oort
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/workflow/support/steps/StageStepExecution.java
          http://jenkins-ci.org/commit/pipeline-stage-step-plugin/addb287b9d5b81f3d4ab3b15fb6dd33e7370062a
          Log:
          Merge pull request #12 from jglick/StepExecution.stop-JENKINS-26148

          JENKINS-26148 Using default implementation of StepExecution.stop

          Compare: https://github.com/jenkinsci/pipeline-stage-step-plugin/compare/d19fefc1433e...addb287b9d5b

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Sam Van Oort Path: pom.xml src/main/java/org/jenkinsci/plugins/workflow/support/steps/StageStepExecution.java http://jenkins-ci.org/commit/pipeline-stage-step-plugin/addb287b9d5b81f3d4ab3b15fb6dd33e7370062a Log: Merge pull request #12 from jglick/StepExecution.stop- JENKINS-26148 JENKINS-26148 Using default implementation of StepExecution.stop Compare: https://github.com/jenkinsci/pipeline-stage-step-plugin/compare/d19fefc1433e...addb287b9d5b

          Sam Van Oort added a comment -

          jglick I think we got all the parts released here, right?

          Sam Van Oort added a comment - jglick I think we got all the parts released here, right?

          Jesse Glick added a comment -

          Looks that way. Thanks for noticing!

          Jesse Glick added a comment - Looks that way. Thanks for noticing!

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: