nic-6443 commented on issue #12803:
URL: https://github.com/apache/apisix/issues/12803#issuecomment-4676894757

   This is the same underlying problem that's now tracked in #13141 and #13282: 
when upstream nodes change (including k8s endpoint updates), old targets are 
only marked for delayed purge in the healthcheck shared dict, and a flaw in the 
cleanup loop of lua-resty-healthcheck-api7 (`last_cleanup_check` is reset 
inside the per-checker loop in `lib/resty/healthcheck.lua`) means that with 
multiple checks-enabled upstreams the stale targets are effectively never 
purged, so they keep being probed.
   
   The fix needs to land in the healthcheck library plus an incremental 
target-update path in `apisix/healthcheck_manager.lua`, and that discussion is 
happening on the newer issues against current versions. Since this report is on 
3.10.0, whose checker lifecycle code has been completely replaced by the 
healthcheck manager (3.14.0+), I'd suggest closing this one as a duplicate and 
following #13141 / #13282 for the fix. Feel free to reopen if you still see 
this on 3.16.0 with details that differ from those issues.
   


-- 
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