From 6590c0bf002f9cde5b3ebbee0ff6cc8188ced4c2 Mon Sep 17 00:00:00 2001 From: Ian Luo <ian.luo@gmail.com> Date: Thu, 22 Oct 2020 22:42:22 +0800 Subject: [PATCH] re-connect if necessary to make sure the clienbt is available. --- remoting/getty/getty_client.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/remoting/getty/getty_client.go b/remoting/getty/getty_client.go index aa69429fc..7c0c7c90d 100644 --- a/remoting/getty/getty_client.go +++ b/remoting/getty/getty_client.go @@ -204,12 +204,10 @@ func (c *Client) Request(request *remoting.Request, timeout time.Duration, respo return perrors.WithStack(err) } +// isAvailable returns true if the connection is available, or it can be re-established. func (c *Client) IsAvailable() bool { - client, err := c.pool.get() - if client == nil || !client.isAvailable() || err != nil { - return false - } - return true + _, _, err := c.selectSession(c.addr) + return err == nil } func (c *Client) selectSession(addr string) (*gettyRPCClient, getty.Session, error) { -- GitLab