From 4293f21f86a87b3d6c66f5fc0adc8b2cdea36f2a Mon Sep 17 00:00:00 2001 From: "Sahdev P. Zala" Date: Fri, 5 Jan 2018 11:24:50 -0500 Subject: [PATCH] Log: debug user cancellation and log warning for rest The context error with cancel code is typically for user cancellation which should be at debug level. For other error codes we should display a warning. Fixes #9085 --- etcdserver/api/v3rpc/watch.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/etcdserver/api/v3rpc/watch.go b/etcdserver/api/v3rpc/watch.go index b2f8169ded9f..89bc5a3f52bf 100644 --- a/etcdserver/api/v3rpc/watch.go +++ b/etcdserver/api/v3rpc/watch.go @@ -140,7 +140,11 @@ func (ws *watchServer) Watch(stream pb.Watch_WatchServer) (err error) { // deadlock when calling sws.close(). go func() { if rerr := sws.recvLoop(); rerr != nil { - plog.Debugf("failed to receive watch request from gRPC stream (%q)", rerr.Error()) + if stream.Context().Err() == context.Canceled { + plog.Debugf("failed to receive watch request from gRPC stream 11 (%q)", rerr.Error()) + } else { + plog.Warningf("failed to receive watch request from gRPC stream (%q)", rerr.Error()) + } errc <- rerr } }()