diff --git a/pkg/remote/trans/nphttp2/server_handler.go b/pkg/remote/trans/nphttp2/server_handler.go index c1293e3a6e..85388be19b 100644 --- a/pkg/remote/trans/nphttp2/server_handler.go +++ b/pkg/remote/trans/nphttp2/server_handler.go @@ -391,11 +391,15 @@ func (t *svrTransHandler) SetPipeline(p *remote.TransPipeline) { } func (t *svrTransHandler) GracefulShutdown(ctx context.Context) error { + t.mu.Lock() + if t.li.Len() == 0 { + t.mu.Unlock() + return nil + } klog.Info("KITEX: gRPC GracefulShutdown starts") defer func() { klog.Info("KITEX: gRPC GracefulShutdown ends") }() - t.mu.Lock() for elem := t.li.Front(); elem != nil; elem = elem.Next() { svrTrans := elem.Value.(*SvrTrans) svrTrans.tr.Drain()