Aias00 opened a new issue, #6575:
URL: https://github.com/apache/shenyu/issues/6575

   ## Description
   `Retry.fixedDelay(retryTimes, Duration.ofSeconds(2))` has no `.filter(...)`. 
Reactor's `Retry.fixedDelay` retries on every `Throwable` by default: 4xx 
permanent failures, 5xx, any IOException/NPE, and POST/PUT/DELETE 
(non-idempotent). With `retryTimes=3` and an upstream returning 500 for a POST, 
the gateway sends 3 more POSTs to a failing server.
   
   ## Location
   ```
   shenyu-plugin-httpclient/.../FixedRetryStrategy.java:57-59
   ```
   
   ## Impact
   Retry storm amplifying load by (N+1)x during an upstream outage, with 2s 
delays occupying connections. 1000 concurrent requests to a failing upstream = 
4000 requests/s.
   
   ## Suggested fix
   Add a `.filter()` limiting retries to transient/network exceptions 
(ConnectTimeoutException, ReadTimeoutException, TimeoutException); add an 
idempotency guard skipping non-GET methods unless explicitly configured.
   
   ## Related existing issue(s)
   #6413 is retry sending an empty body (functional); this is 
retry-on-everything amplification (perf/scalability). #6464 (non-default retry 
backoff strategies can't be selected) is a selection bug; this is the Fixed 
strategy's missing filter.
   
   _Identified during the 2026-08-02 audit; full list in 
[`docs/issue-candidates-2026-08-02.md`](docs/issue-candidates-2026-08-02.md)._


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to