feat(preprod): Increase connect timeout, display full errors#3204
Merged
feat(preprod): Increase connect timeout, display full errors#3204
Conversation
…hot uploads Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This comment was marked as resolved.
This comment was marked as resolved.
rbro112
approved these changes
Mar 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We've been running the snapshots command in
sentry's CI for some time and observed some failures.Example: https://github.com/getsentry/sentry/actions/runs/22928756345/job/66545427887?pr=109531
This addresses that by making 2 changes:
Improves error reporting by wrapping upload errors with
anyhow::Errorand using alternate formatting ({:#}) to display the full error chain. Before, you would just seeerror sending request for urland nothing more.(it would also be possible to print it manually iterating sources, it's just easier to wrap it in anyhow)
Sets the connect timeout on
objectstore_client's underlingreqwest::Clientto a very generous 10s.We were most likely running into that timeout, which
objectstore_clientsets to 0.1s by default. That's suitable for internal services communicating directly with objectstore in the same VPC, but probably too low for an environment like GH actions.There's no concrete motivation for choosing specifically 10s, we just need to choose something higher than 0.1s.
I checked what we do for
curl(used for all other requests) and it seems we don't set any kind of timeout on it.#skip-changelog as we've been skipping changelog for this command, as it's still experimental and used only for internal testing.