Ver Fonte

api/v3rpc: log grpc stream send/recv errors in server-side

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
Gyu-Ho Lee há 8 anos atrás
pai
commit
5921b2c035
2 ficheiros alterados com 6 adições e 0 exclusões
  1. 2 0
      etcdserver/api/v3rpc/lease.go
  2. 4 0
      etcdserver/api/v3rpc/watch.go

+ 2 - 0
etcdserver/api/v3rpc/lease.go

@@ -92,6 +92,7 @@ func (ls *LeaseServer) leaseKeepAlive(stream pb.Lease_LeaseKeepAliveServer) erro
 			return nil
 		}
 		if err != nil {
+			plog.Warningf("failed to receive lease keepalive request from gRPC stream (%q)", err.Error())
 			return err
 		}
 
@@ -117,6 +118,7 @@ func (ls *LeaseServer) leaseKeepAlive(stream pb.Lease_LeaseKeepAliveServer) erro
 		resp.TTL = ttl
 		err = stream.Send(resp)
 		if err != nil {
+			plog.Warningf("failed to send lease keepalive response to gRPC stream (%q)", err.Error())
 			return err
 		}
 	}

+ 4 - 0
etcdserver/api/v3rpc/watch.go

@@ -141,6 +141,7 @@ func (ws *watchServer) Watch(stream pb.Watch_WatchServer) (err error) {
 	// deadlock when calling sws.close().
 	go func() {
 		if rerr := sws.recvLoop(); rerr != nil {
+			plog.Warningf("failed to receive watch request from gRPC stream (%q)", rerr.Error())
 			errc <- rerr
 		}
 	}()
@@ -337,6 +338,7 @@ func (sws *serverWatchStream) sendLoop() {
 
 			mvcc.ReportEventReceived(len(evs))
 			if err := sws.gRPCStream.Send(wr); err != nil {
+				plog.Warningf("failed to send watch response to gRPC stream (%q)", err.Error())
 				return
 			}
 
@@ -353,6 +355,7 @@ func (sws *serverWatchStream) sendLoop() {
 			}
 
 			if err := sws.gRPCStream.Send(c); err != nil {
+				plog.Warningf("failed to send watch control response to gRPC stream (%q)", err.Error())
 				return
 			}
 
@@ -368,6 +371,7 @@ func (sws *serverWatchStream) sendLoop() {
 				for _, v := range pending[wid] {
 					mvcc.ReportEventReceived(len(v.Events))
 					if err := sws.gRPCStream.Send(v); err != nil {
+						plog.Warningf("failed to send pending watch response to gRPC stream (%q)", err.Error())
 						return
 					}
 				}