Marking additional std::io::ErrorKind
variants as transient (Cloudflare bad TLS packets)
#210
Labels
enhancement
New feature or request
Motivations
We were investigating flakiness with Cloudflare requests that already had a generous retry limit, but were flagged as Fatal by the default policy.
As it turns out, one of the errors looked like:
There are various reports of this
BadRecordMac
(rustls) orERR_SSL_BAD_RECORD_MAC_ALERT
(openssl) when using Cloudflare.Retrying mitigates the issue, but since it's considered Fatal instead of Transient, the request fails.
Solution
Update
classify_io_error
to mark this error as transient.Alternatives
Consider even more variants to be marked as transient.
I haven't investigated all of them, but some that might be transient from their description:
Additional context
Tested with
rustls-tls-native-roots
)The text was updated successfully, but these errors were encountered: