Skip to content

Do not auto-retry unrecoverable `missing_dependency_failure` job failure

Shinya Maeda requested to merge fix-subtransaction-retry-build into master

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

Peek_2021-09-28_19-10

How to set up and validate locally

  1. Run a pipeline
  2. Erase an upstream job
  3. Play the downstream job
  4. 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.

Edited by Shinya Maeda

Merge request reports