Skip to content

Commit f07a127

Browse files
committed
fixup! STF-322: Document transport-failure retry in README and CHANGELOG
1 parent 8732940 commit f07a127

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,8 @@ CHANGELOG
44
5.0.3 (unreleased)
55
------------------
66

7-
* Added `WebServiceClient.Builder.maxRetries(int)` to configure transport-
8-
failure retry behavior. Defaults to 1 (one retry on transient transport
9-
errors such as connection reset, broken pipe, EOF, or closed channel).
10-
Set to 0 to disable. `HttpTimeoutException` (covering both request-phase
11-
and connect-phase timeouts), `InterruptedIOException`, and HTTP 4xx/5xx
12-
responses are never retried.
7+
* Added `WebServiceClient.Builder.maxRetries(int)` to bound transport-failure
8+
retries (default 1; set 0 to disable). See the README for retry semantics.
139

1410
5.0.2 (2025-12-08)
1511
------------------

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,18 @@ half-closed connections, the JDK reports the failure as a `Connection reset`,
8282

8383
To smooth over these intermittent transport failures, the SDK retries once
8484
by default. Any transport-level `IOException` raised by the underlying HTTP
85-
send is retried, with two exceptions:
85+
send is retried, with the following exclusions:
8686

8787
* `HttpTimeoutException` — a request-phase timeout. Connect-phase timeouts
8888
(`HttpConnectTimeoutException`) are also excluded because they extend
8989
`HttpTimeoutException`. The SDK honors the timeouts you configure.
9090
* `InterruptedIOException` — the calling thread was interrupted; the SDK
9191
honors the cancellation rather than override it.
92+
* Typically deterministic failures: `UnknownHostException`,
93+
`ConnectException`, `SSLHandshakeException`, `SSLPeerUnverifiedException`.
94+
Retrying these would just delay surfacing a config bug.
95+
* If the calling thread is already interrupted when the predicate runs, the
96+
retry is short-circuited regardless of the exception type.
9297

9398
HTTP 4xx and 5xx responses are not retried — they are returned as
9499
`HttpResponse` objects (not `IOException`s) and surfaced through the existing

0 commit comments

Comments
 (0)