From f2e972abb382dfdada70859410314fd35497816a Mon Sep 17 00:00:00 2001 From: wei liu Date: Thu, 9 Nov 2023 22:12:22 +0800 Subject: [PATCH] Fix external grpc server doesn't graceful stop (#28310) Signed-off-by: Wei Liu --- internal/distributed/proxy/service.go | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/internal/distributed/proxy/service.go b/internal/distributed/proxy/service.go index 8c4c3879ee..bbe4d993ec 100644 --- a/internal/distributed/proxy/service.go +++ b/internal/distributed/proxy/service.go @@ -649,18 +649,25 @@ func (s *Server) Stop() error { gracefulWg.Add(1) go func() { defer gracefulWg.Done() - if s.grpcInternalServer != nil { - utils.GracefulStopGRPCServer(s.grpcInternalServer) - } + if s.tcpServer != nil { - log.Info("Graceful stop Proxy tcp server...") + log.Info("Proxy stop tcp server...") s.tcpServer.Close() - } else if s.grpcExternalServer != nil { + } + + if s.grpcExternalServer != nil { + log.Info("Proxy stop external grpc server") utils.GracefulStopGRPCServer(s.grpcExternalServer) - if s.httpServer != nil { - log.Info("Graceful stop grpc http server...") - s.httpServer.Close() - } + } + + if s.httpServer != nil { + log.Info("Proxy stop http server...") + s.httpServer.Close() + } + + if s.grpcInternalServer != nil { + log.Info("Proxy stop internal grpc server") + utils.GracefulStopGRPCServer(s.grpcInternalServer) } }() gracefulWg.Wait()