Behaviour Change: transport errors should be coded Unavailable instead of internal. (#1307)

This commit is contained in:
MakMukhi 2017-06-14 14:21:20 -07:00 коммит произвёл GitHub
Родитель 1ab4adf22d
Коммит a3592bda22
3 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -56,7 +56,7 @@ func toRPCErr(err error) error {
case transport.StreamError: case transport.StreamError:
return status.Error(e.Code, e.Desc) return status.Error(e.Code, e.Desc)
case transport.ConnectionError: case transport.ConnectionError:
return status.Error(codes.Internal, e.Desc) return status.Error(codes.Unavailable, e.Desc)
default: default:
switch err { switch err {
case context.DeadlineExceeded: case context.DeadlineExceeded:

Просмотреть файл

@ -56,7 +56,7 @@ func toRPCErr(err error) error {
case transport.StreamError: case transport.StreamError:
return status.Error(e.Code, e.Desc) return status.Error(e.Code, e.Desc)
case transport.ConnectionError: case transport.ConnectionError:
return status.Error(codes.Internal, e.Desc) return status.Error(codes.Unavailable, e.Desc)
default: default:
switch err { switch err {
case context.DeadlineExceeded, netctx.DeadlineExceeded: case context.DeadlineExceeded, netctx.DeadlineExceeded:

Просмотреть файл

@ -148,7 +148,7 @@ func TestToRPCErr(t *testing.T) {
errOut error errOut error
}{ }{
{transport.StreamError{Code: codes.Unknown, Desc: ""}, status.Error(codes.Unknown, "")}, {transport.StreamError{Code: codes.Unknown, Desc: ""}, status.Error(codes.Unknown, "")},
{transport.ErrConnClosing, status.Error(codes.Internal, transport.ErrConnClosing.Desc)}, {transport.ErrConnClosing, status.Error(codes.Unavailable, transport.ErrConnClosing.Desc)},
} { } {
err := toRPCErr(test.errIn) err := toRPCErr(test.errIn)
if _, ok := status.FromError(err); !ok { if _, ok := status.FromError(err); !ok {