argoproj / argoproj/argo-workflows
Allow transient errors to not be counted against the retry limit
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 138
Description
# Summary
Add a flag to `RetryStrategy` to not count errors defined as transient (those defined in the codebase and those that match the `TRANSIENT_ERROR_PATTERN` environment variable) against the retry limit. I could also see never counting transient errors against the retry limit being the way to go instead
# Use Cases
- If you use preemptible nodes (or the equivalent), retries from pod deletion errors are counted against the limit but you may want to always retry those kinds of errors
- If you get an API timeout error you may not want those retries to count against the limit
---
**Message from the maintainers**:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.
Contributor guide
Research direction
Locate RetryStrategy and the existing transient-error handling, including the TRANSIENT_ERROR_PATTERN environment variable. Read the retry-related tests and trace how errors consume the retry limit. Done means transient errors can be excluded from that limit through the agreed flag or policy, with coverage for defined transient errors and pattern matches.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100