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

   ## Description
   `for (String server : serverList) { i++; try { 
RegisterUtils.doRegister(...); } catch (Exception e) { LOGGER.error(...); if (i 
== serverList.size()) { throw new RuntimeException(e); } } }`. The 
`FailbackRegistryRepository.persist*` wrapper only enrolls a failure for retry 
when `doPersist*` throws. If an *intermediate* server fails but a later server 
succeeds, no exception is thrown, so no failback task is created. The failed 
intermediate server never receives that registration/heartbeat.
   
   ## Location
   ```
   shenyu-register-client-http/.../HttpClientRegisterRepository.java:191-210 
(doRegister), 212-230 (doHeartbeat)
   ```
   
   ## Impact
   In multi-cluster deployments (the code comment at line 202 explicitly 
contemplates multiple clusters), partial registration loss that the failback 
mechanism never recovers.
   
   ## Suggested fix
   Track per-server failure and throw if *any* server failed (or enroll a 
per-server failback task), rather than gating the throw on `i == 
serverList.size()`.
   
   ## Related existing issue(s)
   None
   
   _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