From 27ab049ddc8692849c494c00d91f1d5e76a87edb Mon Sep 17 00:00:00 2001 From: "data-plane-api(CircleCI)" Date: Fri, 15 Mar 2019 04:54:10 +0000 Subject: [PATCH] xds: introduce initial_fetch_timeout option to limit initialization time (#6048) Introduce new optional configuration parameter initial_fetch_timeout to ConfigSource proto. This parameter can be used to limit time Envoy spend on initialization of CDS, LDS and RDS. Enabling this timeout prevents Envoy from being stuck in PRE_INITIALIZING or INITIALIZING phase, as described in #5862. Risk Level: Low (optional feature, disabled by default) Testing: manual testing, unit tests Docs Changes: add new parameter initial_fetch_timeout to ConfigSource proto Release Notes: Added Fixes #5862 Signed-off-by: Marcin Falkowski Mirrored from https://github.com/envoyproxy/envoy @ 06576443805cc651a8b404da995aa26f9a8720f5 --- envoy/api/v2/core/config_source.proto | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/envoy/api/v2/core/config_source.proto b/envoy/api/v2/core/config_source.proto index 0b5a1ec4..8b6014dc 100644 --- a/envoy/api/v2/core/config_source.proto +++ b/envoy/api/v2/core/config_source.proto @@ -111,4 +111,14 @@ message ConfigSource { // source in the bootstrap configuration is used. AggregatedConfigSource ads = 3; } + + // Optional initialization timeout. + // When this timeout is specified, Envoy will wait no longer than the specified time for first + // config response on this xDS subscription during the :ref:`initialization process + // `. After reaching the timeout, Envoy will move to the next + // initialization phase, even if the first config is not delivered yet. The timer is activated + // when the xDS API subscription starts, and is disarmed on first config update or on error. 0 + // means no timeout - Envoy will wait indefinitely for the first xDS config (unless another + // timeout applies). Default 0. + google.protobuf.Duration initial_fetch_timeout = 4; }