Skip to content

Commit 20551e1

Browse files
authored
internal/transport: do not mask ConnectionError (#4561) (#4569)
1 parent 22c5358 commit 20551e1

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

internal/transport/http2_client.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -877,12 +877,18 @@ func (t *http2Client) Close(err error) {
877877
// Append info about previous goaways if there were any, since this may be important
878878
// for understanding the root cause for this connection to be closed.
879879
_, goAwayDebugMessage := t.GetGoAwayReason()
880+
881+
var st *status.Status
880882
if len(goAwayDebugMessage) > 0 {
881-
err = fmt.Errorf("closing transport due to: %v, received prior goaway: %v", err, goAwayDebugMessage)
883+
st = status.Newf(codes.Unavailable, "closing transport due to: %v, received prior goaway: %v", err, goAwayDebugMessage)
884+
err = st.Err()
885+
} else {
886+
st = status.New(codes.Unavailable, err.Error())
882887
}
888+
883889
// Notify all active streams.
884890
for _, s := range streams {
885-
t.closeStream(s, err, false, http2.ErrCodeNo, status.New(codes.Unavailable, err.Error()), nil, false)
891+
t.closeStream(s, err, false, http2.ErrCodeNo, st, nil, false)
886892
}
887893
if t.statsHandler != nil {
888894
connEnd := &stats.ConnEnd{

0 commit comments

Comments
 (0)