Do not auto-retry unrecoverable `missing_dependency_failure` job failure
What does this MR do and why?
When a job is manual
and is executed after a long time that dependencies are not longer valid, the job fails with missing_dependency_failure
. In such cases, users have to re-create a pipeline or re-execute all of the upstream/depended jobs manually (i.e. not recoverable themselves). However, the system currently auto-retry such jobs, which results in a weird behavior that an unnecessary environment is re-spawned again.
This MR explicitly specify that missing_dependency_failure
failure is not recoverable in the Auto-Retry service.
This also effectively mitigates the subtransaction issue.
Screenshots or screen recordings
How to set up and validate locally
- Run a pipeline
- Erase an upstream job
- Play the downstream job
- Make sure the environment is not re-created
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Shinya Maeda