Skip to content

backport: curl keep-alive to 2.34 maintenance#15949

Open
tomberek wants to merge 5 commits into
NixOS:2.34-maintenancefrom
tomberek:backport-15855-to-2.34-maintenance
Open

backport: curl keep-alive to 2.34 maintenance#15949
tomberek wants to merge 5 commits into
NixOS:2.34-maintenancefrom
tomberek:backport-15855-to-2.34-maintenance

Conversation

@tomberek
Copy link
Copy Markdown
Contributor

@tomberek tomberek commented Jun 1, 2026

Motivation

Backport #15855

tomberek and others added 4 commits June 1, 2026 14:07
This allows curl to detect drops from both a server (eg: S3) as well
as intermediate networking. 30s is to be shorter than commonly used 60s
limits on the server side.

(cherry picked from commit 534d376)
S3 returns transient errors as HTTP 400/503 inside XML. Without parsing these errors are treated as non-retryable.

(cherry picked from commit 631c492)
The original set only covered 5 error codes. The AWS C++ SDK treats
additional error codes as retryable, including throttling variants
(Throttling, ThrottledException, RequestThrottled), internal error
aliases (InternalFailure, InternalServerError), and clock-related
errors (RequestExpired, RequestTimeTooSkewed).

Also use constexpr std::array<std::string_view> instead of
std::set<std::string> to avoid heap allocation.

Reference: https://github.com/aws/aws-sdk-cpp/blob/3d8614fbd6d2/src/aws-cpp-sdk-core/source/client/CoreErrors.cpp#L27-L55
(cherry picked from commit e3f58bc)
@tomberek tomberek changed the title Backport 15855 to 2.34 maintenance backport: curl keep-alive to 2.34 maintenance Jun 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants