Skip to content

test: Sane test data download retries#227

Merged
gmertes merged 2 commits intomainfrom
test/sane-robust
Oct 20, 2025
Merged

test: Sane test data download retries#227
gmertes merged 2 commits intomainfrom
test/sane-robust

Conversation

@gmertes
Copy link
Member

@gmertes gmertes commented Oct 15, 2025

Description

The default number of retries of multiurl.download are very high:

https://github.com/ecmwf/multiurl/blob/develop/multiurl/http.py#L54-L55

In case of network errors, it will retry for 16 hours. Lower this to a saner value. I believe this is one of the reasons the CI is sometimes hanging for a long time.

I chose arbitrary new values, input welcome.

Contributor Declaration

By opening this pull request, I affirm the following:

  • All authors agree to the Contributor License Agreement.
  • The code follows the project's coding standards.
  • I have performed self-review and added comments where needed.
  • I have added or updated tests to verify that my changes are effective and functional.
  • I have run all existing tests and confirmed they pass.

BEGIN_COMMIT_OVERRIDE
feat(testing): Sane test data download retries (#227)
END_COMMIT_OVERRIDE

anaprietonem
anaprietonem previously approved these changes Oct 16, 2025
Copy link
Collaborator

@anaprietonem anaprietonem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Gert for spotting this, I'd say we could even drop the retries to 5, so dev and users just wait max 5 minutes rather than 10, but no strong feelings either

@gmertes gmertes merged commit 1e08996 into main Oct 20, 2025
71 checks passed
@github-project-automation github-project-automation bot moved this from To be triaged to Done in Anemoi-dev Oct 20, 2025
@gmertes gmertes deleted the test/sane-robust branch October 20, 2025 14:31
anaprietonem pushed a commit that referenced this pull request Oct 22, 2025
## Description
Follow up of #227 : also add a timeout to the download function. By
default there is no timeout on `requests.get` (which is used under the
hood), so downloads could hang indefinitely if the server times out and
doesn't close the connection.

***As a contributor to the Anemoi framework, please ensure that your
changes include unit tests, updates to any affected dependencies and
documentation, and have been tested in a parallel setting (i.e., with
multiple GPUs). As a reviewer, you are also responsible for verifying
these aspects and requesting changes if they are not adequately
addressed. For guidelines about those please refer to
https://anemoi.readthedocs.io/en/latest/***

By opening this pull request, I affirm that all authors agree to the
[Contributor License
Agreement.](https://github.com/ecmwf/codex/blob/main/Legal/contributor_license_agreement.md)

---------
anaprietonem pushed a commit that referenced this pull request Oct 22, 2025
🤖 Automated Release PR

This PR was created by `release-please` to prepare the next release.
Once merged:

1. A new version tag will be created
2. A GitHub release will be published
3. The changelog will be updated

Changes to be included in the next release:
---


##
[0.4.38](0.4.37...0.4.38)
(2025-10-22)


### Features

* **testing:** Add download timeout
([#230](#230))
([721d114](721d114))
* **testing:** Sane test data download retries
([#227](#227))
([1e08996](1e08996))


### Bug Fixes

* Fix frequency_to_string outputing 108000s
([#216](#216))
([5806a0c](5806a0c))
* Support dicts of supporting_arrays
([#229](#229))
([9badbad](9badbad))

---
> [!IMPORTANT]
> Please do not change the PR title, manifest file, or any other
automatically generated content in this PR unless you understand the
implications. Changes here can break the release process.
> ⚠️ Merging this PR will:
> - Create a new release
> - Trigger deployment pipelines
> - Update package versions

 **Before merging:**
 - Ensure all tests pass
 - Review the changelog carefully
 - Get required approvals

[Release-please
documentation](https://github.com/googleapis/release-please)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants