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 `. 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(); }