cloudbase-ai commented on PR #7882: URL: https://github.com/apache/shenyu/pull/7882#issuecomment-6291148177
Addressed in 039360ac9. 1. Removed database work and event dispatch from `UPSTREAM_MAP.compute`. A bounded striped reentrant publication gate still orders discovery replacement/removal against health publication; an unguarded CAS followed by dispatch would reopen the stale-snapshot race. Registration changes use short copy-on-write cache operations and survive slow dispatch. Added tests for concurrent registration, superseded queued updates, and reentrant replacement. 2. Wrapped local refresh publication in a `RuntimeException` catch with WARN logging. Tests now use the real `DataChangedEventDispatcher` and verify that both commit ordering and gateway delivery after a refresh failure are preserved, including the nontransactional path. 3. Kept discovery authoritative when a handler exists, so HTTP-only entries cannot resurrect deleted discovery instances. Added `testMixedHttpRegistrationDoesNotOverrideAuthoritativeDiscovery`; the no-handler legacy fallback remains covered. 4. Registry refresh now applies persisted healthy/unhealthy status instead of resetting every entry to false. Added a regression test. 5. Restored the per-upstream alive log and renamed the set to `checkedFailedUrls`. Kept `EventTypeEnum.UPDATE`: it describes refreshing the complete snapshot, even when the registry delta deletes one instance. The deletion test now pins that distinction. Validation: 104 tests, 0 failures/errors, 1 existing skipped test; Checkstyle and Admin RAT passed. The original stale-check, authoritative-empty, and async-recovery tests still pass. No live Eureka/WebSocket or multi-process Admin end-to-end environment was run. -- 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]
