Unverified Commit dd10f060 authored by Aaron Todd's avatar Aaron Todd Committed by GitHub
Browse files

fix hyper 1.x connection refused errors not marked as retryable (#4190)

## Description
internal ref: `V1820425457`

Fixes a regression in the way connection issues are classified which was
causing them to not be retried when using the hyper 1.x client.

The issue is the logic for [classifying the
error](https://github.com/smithy-lang/smithy-rs/blob/release-2025-06-11/rust-runtime/aws-smithy-http-client/src/client.rs#L401)
was never being hit because connection errors are no longer
`hyper::Error` they are `hyper_util::client::legacy::Error`.

*
[hyper-util::Error](https://docs.rs/hyper-util/0.1.14/hyper_util/client/legacy/struct.Error.html)
*
[hyper@1.x::Error](https://docs.rs/hyper/1.6.0/hyper/struct.Error.html)
*
[hyper@0.14.x::Error](https://docs.rs/hyper/0.14.32/hyper/struct.Error.html#method.is_connect

)

## Testing
New unit test plus verification against internal package that opened the
issue.

## Checklist
<!--- If a checkbox below is not applicable, then please DELETE it
rather than leaving it unchecked -->
- [x] For changes to the smithy-rs codegen or runtime crates, I have
created a changelog entry Markdown file in the `.changelog` directory,
specifying "client," "server," or both in the `applies_to` key.

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._

---------

Co-authored-by: default avatarLandon James <lnj@amazon.com>
parent 15d0d3d6
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
---
applies_to:
- client
- aws-sdk-rust
authors:
- aajtodd
references: []
breaking: false
new_feature: false
bug_fix: true
---
Fix hyper 1.x connection refused errors not marked as retryable
+1 −1
Original line number Diff line number Diff line
@@ -276,7 +276,7 @@ dependencies = [

[[package]]
name = "aws-smithy-http-client"
version = "1.0.5"
version = "1.0.6"
dependencies = [
 "aws-smithy-async",
 "aws-smithy-runtime-api",
+2 −2
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"

[[package]]
name = "aws-config"
version = "1.6.4"
version = "1.8.1"
dependencies = [
 "aws-credential-types",
 "aws-runtime",
@@ -248,7 +248,7 @@ dependencies = [

[[package]]
name = "aws-smithy-http-client"
version = "1.0.5"
version = "1.0.6"
dependencies = [
 "aws-smithy-async",
 "aws-smithy-protocol-test",
+1 −1
Original line number Diff line number Diff line
@@ -423,7 +423,7 @@ version = "0.60.3"

[[package]]
name = "aws-smithy-http-client"
version = "1.0.5"
version = "1.0.6"
dependencies = [
 "aws-smithy-async",
 "aws-smithy-protocol-test",
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
name = "aws-smithy-http-client"
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>"]
description = "HTTP client abstractions for generated smithy clients"
version = "1.0.5"
version = "1.0.6"
license = "Apache-2.0"
edition = "2021"
repository = "https://github.com/smithy-lang/smithy-rs"
Loading