From ef17128a992a011ccb0e3647e3a26d24baff0285 Mon Sep 17 00:00:00 2001 From: Raul Gutierrez Segales Date: Wed, 27 Nov 2019 15:34:53 -0300 Subject: [PATCH 1/2] cluster manager: add more debug logging Debugging issues like the one in #9044 are really hard without being able to see what's going on in the CM. Signed-off-by: Raul Gutierrez Segales --- source/common/upstream/cluster_manager_impl.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/common/upstream/cluster_manager_impl.cc b/source/common/upstream/cluster_manager_impl.cc index f3241d7dacabe..5e0e86c92ace6 100644 --- a/source/common/upstream/cluster_manager_impl.cc +++ b/source/common/upstream/cluster_manager_impl.cc @@ -119,18 +119,23 @@ void ClusterManagerInitHelper::initializeSecondaryClusters() { void ClusterManagerInitHelper::maybeFinishInitialize() { // Do not do anything if we are still doing the initial static load or if we are waiting for // CDS initialize. + ENVOY_LOG(debug, "maybe finish initialize state: {}", state_); if (state_ == State::Loading || state_ == State::WaitingForCdsInitialize) { return; } // If we are still waiting for primary clusters to initialize, do nothing. ASSERT(state_ == State::WaitingForStaticInitialize || state_ == State::CdsInitialized); + ENVOY_LOG(debug, "maybe finish initialize primary init clusters empty: {}", + primary_init_clusters_.empty()); if (!primary_init_clusters_.empty()) { return; } // If we are still waiting for secondary clusters to initialize, see if we need to first call // initialize on them. This is only done once. + ENVOY_LOG(debug, "maybe finish initialize secondary init clusters empty: {}", + secondary_init_clusters_.empty()); if (!secondary_init_clusters_.empty()) { if (!started_secondary_initialize_) { ENVOY_LOG(info, "cm init: initializing secondary clusters"); @@ -153,6 +158,7 @@ void ClusterManagerInitHelper::maybeFinishInitialize() { // At this point, if we are doing static init, and we have CDS, start CDS init. Otherwise, move // directly to initialized. started_secondary_initialize_ = false; + ENVOY_LOG(debug, "maybe finish initialize cds api ready: {}", cds_ != nullptr); if (state_ == State::WaitingForStaticInitialize && cds_) { ENVOY_LOG(info, "cm init: initializing cds"); state_ = State::WaitingForCdsInitialize; From d46d4ee82a9005023180f23ac5256a0efd09d7ff Mon Sep 17 00:00:00 2001 From: Raul Gutierrez Segales Date: Wed, 27 Nov 2019 15:42:42 -0300 Subject: [PATCH 2/2] enum to int Signed-off-by: Raul Gutierrez Segales --- source/common/upstream/cluster_manager_impl.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/common/upstream/cluster_manager_impl.cc b/source/common/upstream/cluster_manager_impl.cc index 5e0e86c92ace6..e8688c9edcf08 100644 --- a/source/common/upstream/cluster_manager_impl.cc +++ b/source/common/upstream/cluster_manager_impl.cc @@ -119,7 +119,7 @@ void ClusterManagerInitHelper::initializeSecondaryClusters() { void ClusterManagerInitHelper::maybeFinishInitialize() { // Do not do anything if we are still doing the initial static load or if we are waiting for // CDS initialize. - ENVOY_LOG(debug, "maybe finish initialize state: {}", state_); + ENVOY_LOG(debug, "maybe finish initialize state: {}", enumToInt(state_)); if (state_ == State::Loading || state_ == State::WaitingForCdsInitialize) { return; }