diff --git a/go16.go b/go16.go index e0061146..6775d23c 100644 --- a/go16.go +++ b/go16.go @@ -56,7 +56,7 @@ func toRPCErr(err error) error { case transport.StreamError: return status.Error(e.Code, e.Desc) case transport.ConnectionError: - return status.Error(codes.Internal, e.Desc) + return status.Error(codes.Unavailable, e.Desc) default: switch err { case context.DeadlineExceeded: diff --git a/go17.go b/go17.go index f1e0be2b..66501b0f 100644 --- a/go17.go +++ b/go17.go @@ -56,7 +56,7 @@ func toRPCErr(err error) error { case transport.StreamError: return status.Error(e.Code, e.Desc) case transport.ConnectionError: - return status.Error(codes.Internal, e.Desc) + return status.Error(codes.Unavailable, e.Desc) default: switch err { case context.DeadlineExceeded, netctx.DeadlineExceeded: diff --git a/rpc_util_test.go b/rpc_util_test.go index 8004ad2c..7cbad491 100644 --- a/rpc_util_test.go +++ b/rpc_util_test.go @@ -148,7 +148,7 @@ func TestToRPCErr(t *testing.T) { errOut error }{ {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) if _, ok := status.FromError(err); !ok {