diff --git a/transport/http2_client.go b/transport/http2_client.go index c9c8910b..5d4a8c4b 100644 --- a/transport/http2_client.go +++ b/transport/http2_client.go @@ -636,6 +636,7 @@ func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) { s.statusCode, ok = http2ErrConvTab[http2.ErrCode(f.ErrCode)] if !ok { grpclog.Println("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error ", f.ErrCode) + s.statusCode = codes.Unknown } s.mu.Unlock() s.write(recvMsg{err: io.EOF}) diff --git a/transport/http_util.go b/transport/http_util.go index 73c12d5f..7a3594ac 100644 --- a/transport/http_util.go +++ b/transport/http_util.go @@ -69,6 +69,7 @@ var ( http2.ErrCodeInternal: codes.Internal, http2.ErrCodeFlowControl: codes.ResourceExhausted, http2.ErrCodeSettingsTimeout: codes.Internal, + http2.ErrCodeStreamClosed: codes.Internal, http2.ErrCodeFrameSize: codes.Internal, http2.ErrCodeRefusedStream: codes.Unavailable, http2.ErrCodeCancel: codes.Canceled,