From 87e65fcac57f172332b4a92e9a3f99b23641f1ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20Sencer=20=C3=96zcan?= Date: Wed, 14 Jan 2026 18:36:40 +0100 Subject: [PATCH] fix: add grpc server graceful shutdown --- pkg/services/grpcserver/service.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pkg/services/grpcserver/service.go b/pkg/services/grpcserver/service.go index fe54b13f9b8..d3a6f2df5d8 100644 --- a/pkg/services/grpcserver/service.go +++ b/pkg/services/grpcserver/service.go @@ -168,8 +168,21 @@ func (s *gPRCServerService) Run(ctx context.Context) error { return err case <-ctx.Done(): } - s.logger.Warn("GRPC server: shutting down") - s.server.Stop() + + s.logger.Warn("GRPC server: initiating graceful shutdown") + gracefulStopDone := make(chan struct{}) + go func() { + s.server.GracefulStop() + close(gracefulStopDone) + }() + + select { + case <-gracefulStopDone: + s.logger.Info("GRPC server: graceful shutdown complete") + case <-time.After(30 * time.Second): + s.logger.Warn("GRPC server: graceful shutdown timed out, forcing stop") + s.server.Stop() + } return ctx.Err() }