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]