Skip to content

Commit 5afdb6c

Browse files
committed
fixup! STF-322: Add bounded transport-failure retry to WebServiceClient
1 parent f8b74c0 commit 5afdb6c

1 file changed

Lines changed: 5 additions & 14 deletions

File tree

src/main/java/com/maxmind/minfraud/WebServiceClient.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -225,20 +225,11 @@ public Builder httpClient(HttpClient val) {
225225
* Set to 0 to disable.
226226
* @return Builder.
227227
* @throws IllegalArgumentException if {@code val} is negative.
228-
* @apiNote Timeouts are not retried ({@link java.net.http.HttpTimeoutException},
229-
* including the connect-phase subclass
230-
* {@link java.net.http.HttpConnectTimeoutException}). When
231-
* {@code maxRetries > 0}, retries are triggered only by fast transport
232-
* failures, so each attempt is independently bounded by
233-
* {@link #connectTimeout(Duration)} and {@link #requestTimeout(Duration)}.
234-
* Because timeouts abort rather than retry, the worst-case wall clock
235-
* is bounded by a single attempt's timeouts, not
236-
* {@code (maxRetries + 1) x timeout}.
237-
* <p>
238-
* Successful retries do not surface the prior failure to callers; if
239-
* all attempts fail, the final exception carries the prior
240-
* {@code IOException}s via {@link Throwable#getSuppressed()} so the
241-
* full retry history is visible in stack traces.
228+
* @apiNote Retries fire only on transient transport failures.
229+
* Timeouts and other non-transient errors are not retried — see
230+
* the README for the complete list. When all attempts fail,
231+
* the prior {@code IOException}s are attached via
232+
* {@link Throwable#getSuppressed()} for debugging.
242233
*/
243234
public Builder maxRetries(int val) {
244235
if (val < 0) {

0 commit comments

Comments
 (0)