diff --git a/rpc/rpc_client.go b/rpc/rpc_client.go index afc8a3c6c63..f1870ebe061 100644 --- a/rpc/rpc_client.go +++ b/rpc/rpc_client.go @@ -263,7 +263,6 @@ func Connect(connConfig Config, suppressRegister bool, dispatcherFuncs map[strin } clientSingleton.Dial = func(addr string) (conn net.Conn, err error) { - defer connectionDialingWG.Done() dialer := &net.Dialer{ Timeout: 10 * time.Second, KeepAlive: 30 * time.Second, @@ -299,6 +298,8 @@ func Connect(connConfig Config, suppressRegister bool, dispatcherFuncs map[strin conn.Write([]byte("proto2")) conn.Write([]byte{byte(len(connID))}) conn.Write([]byte(connID)) + // only mark as done is connection is established + connectionDialingWG.Done() return conn, nil }