diff --git a/docs/root/intro/version_history.rst b/docs/root/intro/version_history.rst index a1e7369d..dae201a6 100644 --- a/docs/root/intro/version_history.rst +++ b/docs/root/intro/version_history.rst @@ -20,6 +20,10 @@ Version history ` for HTTP health check. * health check: added support for EDS delivered :ref:`endpoint health status `. +* health check: added interval overrides for health state transitions from :ref:`healthy to unhealthy + `, :ref:`unhealthy to healthy + ` and for subsequent checks on + :ref:`unhealthy hosts `. * load balancing: added :ref:`weighted round robin ` support. The round robin scheduler now respects endpoint weights and also has improved fidelity across diff --git a/envoy/api/v2/core/health_check.proto b/envoy/api/v2/core/health_check.proto index 6b7f0f5b..90d15b73 100644 --- a/envoy/api/v2/core/health_check.proto +++ b/envoy/api/v2/core/health_check.proto @@ -149,10 +149,33 @@ message HealthCheck { // never had traffic routed to it. This lower interval allows cluster information to be kept up to // date, without sending a potentially large amount of active health checking traffic for no // reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the - // standard health check interval that is defined. + // standard health check interval that is defined. Note that this interval takes precedence over + // any other. // // The default value for "no traffic interval" is 60 seconds. google.protobuf.Duration no_traffic_interval = 12; + + // The "unhealthy interval" is a health check interval that is used for hosts that are marked as + // unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the + // standard health check interval that is defined. + // + // The default value for "unhealthy interval" is the same as "interval". + google.protobuf.Duration unhealthy_interval = 14; + + // The "unhealthy edge interval" is a special health check interval that is used for the first + // health check right after a host is marked as unhealthy. For subsequent health checks + // Envoy will shift back to using either "unhealthy interval" if present or the standard health + // check interval that is defined. + // + // The default value for "unhealthy edge interval" is the same as "unhealthy interval". + google.protobuf.Duration unhealthy_edge_interval = 15; + + // The "healthy edge interval" is a special health check interval that is used for the first + // health check right after a host is marked as healthy. For subsequent health checks + // Envoy will shift back to using the standard health check interval that is defined. + // + // The default value for "healthy edge interval" is the same as the default interval. + google.protobuf.Duration healthy_edge_interval = 16; } // Endpoint health status.