Browse Source

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

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
Gyu-Ho Lee 8 years ago
parent
commit
6bd41f36ff
2 changed files with 6 additions and 0 deletions
  1. 2 0
      etcdserver/api/v3rpc/lease.go
  2. 4 0
      etcdserver/api/v3rpc/watch.go

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

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

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

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