netty5/codec-http2/src
Matthew Miller d36a2a65e1 HTTP/2: Prevent memory leak when trying to create new streams on a connection that received a GOAWAY. (#9674)
Motivation:

In https://github.com/netty/netty/issues/8692, `Http2FrameCodec` was
updated to keep track of all "being initialized" streams, allocating
memory before initialization begins, and releasing memory after
initialization completes successfully.

In some instances where stream initialization fails (e.g. because this
connection has received a GOAWAY frame), this memory is never released.

Modifications:

This change updates the `Http2FrameCodec` to use a separate promise
for monitoring the success of sending HTTP2 headers. When sending of
headers fails, we now make sure to release memory allocated for stream
initialization.

Result:

After this change, failures in writing HTTP2 Headers (e.g. because this
connection has received a GOAWAY frame) will no longer leak memory.
2019-10-16 19:42:35 -07:00
..
main HTTP/2: Prevent memory leak when trying to create new streams on a connection that received a GOAWAY. (#9674) 2019-10-16 19:42:35 -07:00
test HTTP/2: Prevent memory leak when trying to create new streams on a connection that received a GOAWAY. (#9674) 2019-10-16 19:42:35 -07:00