diff --git a/etcdserver/api/v3rpc/util.go b/etcdserver/api/v3rpc/util.go index ec34249c1eb5..e4bb85ae7552 100644 --- a/etcdserver/api/v3rpc/util.go +++ b/etcdserver/api/v3rpc/util.go @@ -84,9 +84,13 @@ func togRPCError(err error) error { func isClientCtxErr(ctxErr error, err error) bool { if ctxErr != nil { - return ctxErr == context.Canceled || ctxErr == context.DeadlineExceeded + return true + } + + ev, ok := status.FromError(err) + if !ok { + return false } - ev, _ := status.FromError(err) code := ev.Code() return code == codes.Canceled || code == codes.DeadlineExceeded }