diff --git a/pkg/rpc/drpc.go b/pkg/rpc/drpc.go index 48e15ca622cf..ac608894a881 100644 --- a/pkg/rpc/drpc.go +++ b/pkg/rpc/drpc.go @@ -138,8 +138,13 @@ type closeEntirePoolConn struct { } func (c *closeEntirePoolConn) Close() error { - _ = c.Conn.Close() - return c.pool.Close() + select { + case <-c.Conn.Closed(): + return nil // already closed + default: + _ = c.Conn.Close() + return c.pool.Close() + } } type DRPCConnection = Connection[drpc.Conn]