Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
health check: overriding health threshold for edge intervals (envoypr…
…oxy#3174) The current implementation of `healthy_edge_interval` and `unhealthy_edge_interval` will wait for the health threshold to be reached before the interval is used. That leads to situations like this: - `healthy_threshold` is set to 3; - host health state is currently `unhealthy`; - host health check fails, next check happens after `unhealthy_interval`; - host health check succeeds, next check happens after `interval`; - host health check succeeds, next check happens after `interval`; - host health check succeeds, next check happens after `healthy_edge_interval`; - host health check succeeds, next check happens after `interval`. The behavior above defeats the purpose of having an edge interval since its goal is to detect health state changes faster whilst reducing the burden of health checks on healthy hosts. The intended behavior to achieve edge interval's purpose on the same scenario would be: - host health check fails, next check happens after `unhealthy_interval`; - host health check succeeds, next check happens after `healthy_edge_interval`; - host health check succeeds, next check happens after `healthy_edge_interval`; - host health check succeeds, next check happens after `interval`; - host health check succeeds, next check happens after `interval`. This PR fixes health check interval overrides so that the latter bahavior is achieved. Fixes: envoyproxy#3173 Signed-off-by: Marcelo Juchem <juchem@gmail.com> Signed-off-by: Rama <rama.rao@salesforce.com>
- Loading branch information