Aias00 opened a new issue, #7636: URL: https://github.com/apache/shenyu/issues/7636
## Problem Admin URI-registration retries are keyed by selector name and plugin name, but not namespace. Registrations in separate namespaces can therefore remove or replace each other's pending retry state. Verified by source inspection at `b4e115367`; a focused regression test is still required. Suggested priority: P1. ## Evidence and reproduction [FallbackShenyuClientRegisterService](https://github.com/apache/shenyu/blob/b4e115367fd57adc8aba332d655b1009932ba394/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterService.java#L61) accepts `namespaceId` and stores it in `FallbackHolder`, but computes `key(selectorName)`. The [key implementation](https://github.com/apache/shenyu/blob/b4e115367fd57adc8aba332d655b1009932ba394/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/FallbackShenyuClientRegisterService.java#L106) contains only selector name and the RPC plugin name. Concrete sequence using one registration-service instance: 1. URI registration for namespace A and selector `orders` fails and adds a pending retry. 2. Namespace B registers selector `orders` using the same RPC type. 3. B's `removeFallBack(key)` removes A's pending retry. If B succeeds, A is no longer retried; if B fails, B's holder replaces the pending namespace identity. ## Proposed scope Include namespace in the identity used consistently by enqueue, removal and recovery. Use an unambiguous composite identity. Preserve per-namespace payloads and existing retry timing; avoid unrelated timer/refactoring changes. ## Acceptance criteria - [ ] Two namespaces with the same selector name and RPC type maintain independent pending retries. - [ ] Successful registration in B does not remove A's pending failure. - [ ] Failures in both namespaces recover using their own namespace and URI payload. - [ ] Existing same-namespace retry behavior remains covered. - [ ] Add deterministic tests without relying on long sleeps. ## Related #6777 fixed a different client-side failback implementation (`FailbackRegistryRepository`). This issue concerns the Admin-side `FallbackShenyuClientRegisterService`. #4801 concerns stale payload retries in this Admin class; namespace isolation is a separate identity defect. -- 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]
