diff --git a/remoting/exchange_client.go b/remoting/exchange_client.go
index 26fa5d5740e72c69d1a712146b6e1b0424885c21..ef0c3dbce7372b7446731613dba54771f46e5183 100644
--- a/remoting/exchange_client.go
+++ b/remoting/exchange_client.go
@@ -204,7 +204,7 @@ func (client *ExchangeClient) Handler(response *Response) {
 
 	if pendingResponse.Callback == nil {
 		pendingResponse.Err = pendingResponse.response.Error
-		pendingResponse.Done <- struct{}{}
+		close(pendingResponse.Done)
 	} else {
 		pendingResponse.Callback(pendingResponse.GetCallResponse())
 	}
diff --git a/remoting/getty/listener.go b/remoting/getty/listener.go
index 196aa20a087e7562f88865d6bb40e6d8feac1502..97c9e7ba3e6dd2b807f4301a1519ac5b7190d2ab 100644
--- a/remoting/getty/listener.go
+++ b/remoting/getty/listener.go
@@ -153,7 +153,9 @@ func (h *RpcClientHandler) OnCron(session getty.Session) {
 		return
 	}
 
-	h.conn.pool.rpcClient.heartbeat(session)
+	if err := h.conn.pool.rpcClient.heartbeat(session); err != nil {
+		logger.Warnf("failed to send heartbeat, error: %v", err)
+	}
 }
 
 // //////////////////////////////////////////