← Back to issue list

feat: retry more launchpad queries

View original Github issue

Metadata

Project
craft-application
Number
#352
Type
pull request
State
closed
Author
tigarmo
Labels
—
Created
Updated
Closed

Current evaluation

PR #352 (retry() refactor plus retries on more Launchpad calls) was closed unmerged but its work landed via follow-up PR #355, merged in commit b97d76d6 adding exponential backoff (2/4/8/16/32s, ~62s cap).

Resolution: closed superseded

Reason: #352 itself was never merged; the maintainer comment records it as merged by #355. Commit b97d76d6 ("feat: exponential backoff for launchpad retries") is present in history, and craft_application/util/retry.py now implements the retry() helper with the _ATTEMPT_SLEEPS backoff, so #355 delivered the intended feature.

Evaluated by: mr-cal-bot

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
stealth/space-bunny-alpha — closed superseded PR #352 (retry() refactor plus retries on more Launchpad calls) was closed unmerged but its work landed via follow-up PR #355, merged in commit b97d76d6 adding exponential backoff (2/4/8/16/32s, ~62s cap).
stealth/space-bunny-alpha — closed resolved Launchpad retry expansion from #352 was merged through follow-up #355, which implemented exponential backoff for retries rather than merging this PR directly.
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.

Update history

No update history recorded yet.

Related work

  • Superseded By: canonical/craft-application#355 (confidence 95%)

    Follow-up PR merged as commit b97d76d6; the closing comment on #352 says it was 'merged by #355'.

  • Likely Fixed By: b97d76d6 (confidence 90%)

    Merge commit adding exponential backoff to launchpad retries, matching the final state of util/retry.py.

Related issues

Issue Project State Summary Similarity
#355 feat: exponential backoff for launchpad retries craft-application merged Merged PR #355 as commit b97d76d6, adding Launchpad retry delays of 2, 4, 8, 16, and 32 seconds for a maximum total sleep of 62 seconds.
85%
#275 remote build: retry launchpad queries craft-application closed Added exponential backoff for Launchpad queries, with delays of 2, 4, 8, 16, and 32 seconds, via merged PR #355 (commit b97d76d6).
82%
#2633 remote-build: increase number of launchpad start_build request attempts snapcraft closed Closed unmerged: more start_build retries were abandoned after the author traced repeated failures to an uncaught Launchpad backend error that the change would not address.
71%