-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Minor
-
Component/s: pipeline-build-step-plugin, workflow-basic-steps-plugin
-
None
-
workflow-basic-steps 2.19, pipeline-build-step 2.11, workflow-step-api 2.22
We just upgraded pipeline-build-step from 2.9 to 2.10. The following no longer retries:
pipeline {
agent any
stages {
stage('bug') {
steps {
retry(3) {
echo 'in the retry loop'
//throw new Exception('failing in retry loop') // This runs (when uncommented) several times before the pipeline exits with failure.
build(job: 'some/job/that/fails', propagate: true) // This only runs once before the pipeline exits with failure.
}
}
}
}
}
When the sub-build fails, the retry loop exits immediately and does not retry. This didn't used to happen. When raising an error in another way (e.g. the `throw new Exception`, commented out, in the code above), `retry` works as expected.
A workaround is to try/catch the `build()` call and, in catch, `throw new Exception(...)`. If the caught exception is directly re-thrown, we see the same behavior where `retry` does not loop.
- is caused by
-
JENKINS-49073 build job propagate true propagates FAIL when state is UNSTABLE
-
- Resolved
-
- relates to
-
JENKINS-44379 workflow-basic-steps: retry does not abort when input or milestone try to abort build
-
- Resolved
-
-
JENKINS-51454 Pipeline retry operation doesn't retry when there is a timeout inside of it
-
- Resolved
-
-
JENKINS-67067 Cancelling of concurrent pipeline run due to milestone wrongly claims that user aborted via FlowInterruptedException#actualInterruption
-
- Closed
-
- links to