feat: retry more launchpad queries
Metadata
Current evaluation
Merged via PR #355. Added a reusable retry() function to additional Launchpad API calls to handle transient failures, refactoring existing logic. More targets will be added as flaky exceptions are identified.
Suggested action: —
No scores available.
Issue body
First commit creates the retry() function and refactors the code that had "retry" logic in it to use the function.
Second commit adds retry() to a couple more launchpad calls. I ended up sticking to the calls that had some known Exception type, because otherwise I don't know *when* to retry. I'm open to suggestions on this, otherwise I suppose we can add more retry() calls as time goes and we identify more Exception types that result from launchpad flakiness.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged via PR #355. Added a reusable retry() function to additional Launchpad API calls to handle transient failures, refactoring existing logic. More targets will be added as flaky exceptions are identified. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged via PR #355. Refactored existing retry logic into a reusable function and applied it to additional Launchpad API calls to handle known exceptions, improving resilience against API flakiness. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #275 remote build: retry launchpad queries | craft-application | closed | Resolved intermittent Launchpad query failures during remote builds by implementing exponential backoff retry logic. The fix was merged via canonical/craft-application#355, automatically retrying failed requests before timing out. | |
| #355 feat: exponential backoff for launchpad retries | craft-application | merged | Merged exponential backoff for launchpad retries. The retry strategy now doubles sleep intervals starting at two seconds, capped at five attempts and 62 seconds total. Approved by two reviewers, passed CI, and modified seven files. |