-
Notifications
You must be signed in to change notification settings - Fork 18.3k
Closed
Labels
NeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.
Description
Go version
x/net v0.30.0
Output of go env
in your module/workspace:
Not important.
What did you do?
I configured http2.Server with
- ReadIdleTimeout
- PingTimeout
- CountError
and caused PING to be lost.
What did you see happen?
The newly added support for lost PING in server:
- only logs lost ping in verbose mode while closes the underlying connection - IMO should be logged always
- does not invoke CountError
if sc.pingSent {
sc.vlogf("timeout waiting for PING response")
sc.conn.Close()
return
}
https://cs.opensource.google/go/x/net/+/refs/tags/v0.30.0:http2/server.go;l=1047
vs
func (cc *ClientConn) closeForLostPing() {
err := errors.New("http2: client connection lost")
if f := cc.t.CountError; f != nil {
f("conn_close_lost_ping")
}
cc.closeForError(err)
}
https://cs.opensource.google/go/x/net/+/refs/tags/v0.30.0:http2/transport.go;l=1159
What did you expect to see?
I expect to see
ErrorLog
called with lost ping messageCountError
called withconn_close_lost_ping
Metadata
Metadata
Assignees
Labels
NeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.