Aias00 opened a new issue, #7647: URL: https://github.com/apache/shenyu/issues/7647
## Goal Keep health-state freshness predictable when many upstreams are checked or endpoints respond slowly. This is a scale/performance task; #6502 separately tracks recovery after an async check failure. ## Current evidence `UpstreamCheckTask` schedules fixed-delay rounds, submits checks to a separate executor, and waits for a round inside a synchronized section. Large batches or slow endpoints can increase round duration and delay subsequent checks. The lock explicitly protects against `triggerRemoveAll` races; removing it without replacement would lose correctness. [Source at reviewed commit](https://github.com/apache/shenyu/blob/b4e115367fd57adc8aba332d655b1009932ba394/shenyu-loadbalancer/src/main/java/org/apache/shenyu/loadbalancer/cache/UpstreamCheckTask.java#L158) ## Scope and acceptance criteria - [ ] Record round duration, submitted/pending checks, endpoint latency and health-state age before changing scheduling. - [ ] Benchmark increasing upstream counts and partial slow/failing endpoint populations; document probe-enabled configuration (bootstrap currently disables this feature by default). - [ ] Evaluate bounded in-flight work, batching or staggering only where measurements show stale health state or excess resource use. - [ ] Preserve healthy/unhealthy thresholds, update/removal races and failure recovery, including the scenario in #6502. - [ ] Report actual failure/recovery detection delay, resource usage and impact on request p99. - [ ] Add deterministic scheduling/concurrency tests; avoid simply increasing all executor sizes. -- 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]
