From c77cf243709e44c6015f8fe2ff3be3dd9d51ecd1 Mon Sep 17 00:00:00 2001 From: "Nikita V. Shirokov" Date: Fri, 8 Oct 2021 18:47:52 +0000 Subject: [PATCH 1/2] [config_validation]: fixing crash in grpc client during shutdown Signed-off-by: Nikita V. Shirokov --- source/server/config_validation/server.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/server/config_validation/server.cc b/source/server/config_validation/server.cc index 57eba26cabcbb..7c7ec12846dba 100644 --- a/source/server/config_validation/server.cc +++ b/source/server/config_validation/server.cc @@ -5,6 +5,8 @@ #include "envoy/config/bootstrap/v3/bootstrap.pb.h" #include "source/common/common/utility.h" +#include "source/common/config/grpc_mux_impl.h" +#include "source/common/config/new_grpc_mux_impl.h" #include "source/common/config/utility.h" #include "source/common/event/real_time_system.h" #include "source/common/local_info/local_info_impl.h" @@ -123,6 +125,8 @@ void ValidationInstance::shutdown() { config_.clusterManager()->shutdown(); } thread_local_.shutdownThread(); + Config::GrpcMuxImpl::shutdownAll(); + Config::NewGrpcMuxImpl::shutdownAll(); dispatcher_->shutdown(); } From 1e633dd871e3fb759ba9555f82e19dfa7f86b87a Mon Sep 17 00:00:00 2001 From: "Nikita V. Shirokov" Date: Tue, 12 Oct 2021 17:56:22 +0000 Subject: [PATCH 2/2] adding description into current.rst Signed-off-by: Nikita V. Shirokov --- docs/root/version_history/current.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/root/version_history/current.rst b/docs/root/version_history/current.rst index c595bbb8f379d..409dbb9208b4e 100644 --- a/docs/root/version_history/current.rst +++ b/docs/root/version_history/current.rst @@ -15,6 +15,7 @@ Bug Fixes --------- *Changes expected to improve the state of the world and are unlikely to have negative effects* +* config_validation: fix server crash during shutdown when grpc requests to xDS are still in flight. * listener: fixed the crash when updating listeners that do not bind to port. * thrift_proxy: fix the thrift_proxy connection manager to correctly report success/error response metrics when performing :ref:`payload passthrough `.