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]

Reply via email to