← Back to issue list

storeapi: better handle network errors and retries

View original Github issue

Metadata

Project
snapcraft
Number
#2094
Type
pull request
State
merged
Author
kyrofa
Labels
Created
Updated
Closed

Current evaluation

Resolves Launchpad bug #1765671 by improving storeapi network error handling. Sets urllib log level to ERROR and properly manages max retry failures, eliminating verbose warnings and tracebacks. Approved and merged after passing CI.

Suggested action:

No scores available.

Issue body

- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)? - [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh unit`? ----- Currently Snapcraft prints an ugly warning every time it retries a connection instead of just retrying until the max number has occurred. And then, if after all the retries have happened and no connection has been made, it dumps a traceback. This PR fixes LP: [#1765671](https://bugs.launchpad.net/snapcraft/+bug/1765671) by fixing both of othese issues: up the log level of urllib to ERROR, and properly handle connection errors resulting from exceeding the maximum number of retries. In the long run, we should consider doing retries differently-- this stuff leaks right through requests.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Resolves Launchpad bug #1765671 by improving storeapi network error handling. Sets urllib log level to ERROR and properly manages max retry failures, eliminating verbose warnings and tracebacks. Approved and merged after passing CI.
qwen3.6-35b-a3b-mtp-q6 Merged storeapi updates resolving Launchpad bug #1765671. Raises urllib log level to ERROR and properly handles max retry connection failures, eliminating verbose warnings and tracebacks.
qwen3.6-35b-a3b-mtp-q6 Merged to resolve Launchpad bug #1765671. Storeapi now raises urllib log level to ERROR and properly handles connection failures after maximum retries, eliminating ugly warnings and traceback dumps.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1936 storeapi: handle errors even for >400 responses snapcraft merged Merged PR resolves Launchpad bug #1736963 by fixing storeapi error handling for HTTP responses over 400. Bypasses the requests library __bool__ quirk to ensure proper error messages display for failed API calls. Approved and passed CI.
82%
#2116 storeapi: handle 5xx error codes for all store endpoints snapcraft merged Merged robust 5xx error handling across all store API endpoints. Fixes Launchpad bug #1768370 by generalizing release-specific error handling. Approved by two reviewers and passed CI checks.
80%
#3550 storeapi: log responses and registration error code snapcraft merged Merged. Adds debug logging for store API responses and improves registration error code output. The minimal change (+16/-5 lines, 4 files) passed CI, achieved 100% coverage, and was approved for backporting.
71%
#3667 storeapi: fix typo snapcraft merged Merged a single-line typo correction in the storeapi module. Approved by a reviewer, passed CI, and increased test coverage by 0.07%.
71%
#3124 storeapi: update api and error messages from push to upload snapcraft merged Merged updates to the storeapi module replacing push terminology with upload in API calls and error messages. Approved by one reviewer, modifying 10 files with 126 additions and 146 deletions.
71%