From ade65efcd777b6aae123b535869c4332ec66dfaf Mon Sep 17 00:00:00 2001 From: theharveyz Date: Tue, 27 Jul 2021 10:47:11 +0800 Subject: [PATCH 1/2] bugfix: fix i/o timeout: connection was bad --- client/pool.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/pool.go b/client/pool.go index c8c1f45dd..2627c8773 100644 --- a/client/pool.go +++ b/client/pool.go @@ -471,6 +471,8 @@ func (pool *Pool) ping(conn *Conn) error { err := conn.Ping() if err != nil { pool.logFunc(`Pool: ping query fail: %s`, err.Error()) + } else { + conn.SetDeadline(time.Time{}) } return err } From 8da5769ce37e93953e586a833d1bb5414797d856 Mon Sep 17 00:00:00 2001 From: theharveyz Date: Tue, 27 Jul 2021 16:22:54 +0800 Subject: [PATCH 2/2] fix lint --- client/pool.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/client/pool.go b/client/pool.go index 2627c8773..029487e41 100644 --- a/client/pool.go +++ b/client/pool.go @@ -466,13 +466,12 @@ func (pool *Pool) startNewConnections(count int) { func (pool *Pool) ping(conn *Conn) error { deadline := time.Now().Add(100 * time.Millisecond) - _ = conn.SetWriteDeadline(deadline) - _ = conn.SetReadDeadline(deadline) + _ = conn.SetDeadline(deadline) err := conn.Ping() if err != nil { pool.logFunc(`Pool: ping query fail: %s`, err.Error()) } else { - conn.SetDeadline(time.Time{}) + _ = conn.SetDeadline(time.Time{}) } return err }