From af574d17d5d8868ecb2b1e8bfce1b1e1d4ce25a6 Mon Sep 17 00:00:00 2001 From: xige-16 Date: Sat, 28 Aug 2021 12:51:57 +0800 Subject: [PATCH] Fix querycoord panic when stop nil conn of querynoClient (#7346) Signed-off-by: xige-16 --- internal/distributed/querynode/client/client.go | 6 +++++- .../distributed/querynode/client/client_test.go | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 internal/distributed/querynode/client/client_test.go diff --git a/internal/distributed/querynode/client/client.go b/internal/distributed/querynode/client/client.go index ee24b2e995..9cabe4e337 100644 --- a/internal/distributed/querynode/client/client.go +++ b/internal/distributed/querynode/client/client.go @@ -127,7 +127,11 @@ func (c *Client) Start() error { } func (c *Client) Stop() error { - return c.conn.Close() + c.cancel() + if c.conn != nil { + c.conn.Close() + } + return nil } // Register dummy diff --git a/internal/distributed/querynode/client/client_test.go b/internal/distributed/querynode/client/client_test.go new file mode 100644 index 0000000000..a1a526bc77 --- /dev/null +++ b/internal/distributed/querynode/client/client_test.go @@ -0,0 +1,15 @@ +package grpcquerynodeclient + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestNilClient(t *testing.T) { + client, err := NewClient(context.Background(), "test") + assert.Nil(t, err) + err = client.Stop() + assert.Nil(t, err) +}