diff --git a/etcdserver/api/v3rpc/lease.go b/etcdserver/api/v3rpc/lease.go index 13602b4e652c..e4f7724095a0 100644 --- a/etcdserver/api/v3rpc/lease.go +++ b/etcdserver/api/v3rpc/lease.go @@ -22,6 +22,9 @@ import ( "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes" pb "github.com/coreos/etcd/etcdserver/etcdserverpb" "github.com/coreos/etcd/lease" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" ) type LeaseServer struct { @@ -107,7 +110,13 @@ func (ls *LeaseServer) leaseKeepAlive(stream pb.Lease_LeaseKeepAliveServer) erro return nil } if err != nil { - plog.Debugf("failed to receive lease keepalive request from gRPC stream (%q)", err.Error()) + ev, _ := status.FromError(err) + code := ev.Code() + if code == codes.Canceled || code == codes.DeadlineExceeded { + plog.Debugf("failed to receive lease 123 keepalive request from gRPC stream (%q)", err.Error()) + } else { + plog.Warningf("failed to receive lease keepalive request from gRPC stream (%q)", err.Error()) + } return err } diff --git a/etcdserver/api/v3rpc/watch.go b/etcdserver/api/v3rpc/watch.go index 89bc5a3f52bf..a4004af96c69 100644 --- a/etcdserver/api/v3rpc/watch.go +++ b/etcdserver/api/v3rpc/watch.go @@ -26,6 +26,9 @@ import ( pb "github.com/coreos/etcd/etcdserver/etcdserverpb" "github.com/coreos/etcd/mvcc" "github.com/coreos/etcd/mvcc/mvccpb" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" ) type watchServer struct { @@ -140,8 +143,10 @@ func (ws *watchServer) Watch(stream pb.Watch_WatchServer) (err error) { // deadlock when calling sws.close(). go func() { if rerr := sws.recvLoop(); rerr != nil { - if stream.Context().Err() == context.Canceled { - plog.Debugf("failed to receive watch request from gRPC stream 11 (%q)", rerr.Error()) + ev, _ := status.FromError(rerr) + code := ev.Code() + if code == codes.Canceled || code == codes.DeadlineExceeded { + plog.Debugf("failed to receive watch request from gRPC stream (%q)", rerr.Error()) } else { plog.Warningf("failed to receive watch request from gRPC stream (%q)", rerr.Error()) }