@@ -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