lymerin opened a new pull request, #7777:
URL: https://github.com/apache/shenyu/pull/7777

   Fixes #7752
   
   ### Problem
   
   With `retryStrategy=failover` and `retryBackOffSpec=fixed`, the fixed 
strategy bypasses upstream selection and resubscribes to the original request. 
Connection failures therefore retry the same upstream, while the 5xx failover 
signal is rejected by the fixed strategy’s exception filter and receives no 
retry.
   
   ### Impact
   
   GET requests fail despite an available healthy standby because configuring 
fixed backoff disables the requested failover behavior.
   
   ### Changes
   
   Reuse the existing failover flow for fixed retries, waiting two seconds 
before selecting and sending to another upstream. Allow the existing 5xx 
failover signal alongside transient network failures, while retaining the GET 
restriction, retry budget, and timeout handling.
   
   Add regression coverage through the public plugin entry point for both 
reported failures, retry eligibility, and successive failover across distinct 
upstreams.
   
   ### Validation
   
   - HTTP client module: 66 tests passed, zero failures or errors.
   - Checkstyle and Apache RAT passed.
   
   ### Non-blocking note
   
   `FixedRetryStrategy` reuses a package-private failover helper in 
`DefaultRetryStrategy`. This introduces coupling between the two strategies, 
but keeps upstream selection in one place without composing two retry policies. 
A separate failover executor is not needed for this fix; the existing flow is 
reused to keep the change focused on #7752.
   
   ### Checklist
   Make sure that:
   
   - [x] You have read the [contribution 
guidelines](https://shenyu.apache.org/community/contributor-guide).
   - [x] You submit test cases (unit or integration tests) that back your 
changes.
   - [x] Your local test passed `./mvnw clean install 
-Dmaven.javadoc.skip=true`.
   


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