Skip to content

HTTP health checker: handle GOAWAY from HTTP2 upstreams#13599

Merged
mattklein123 merged 51 commits intoenvoyproxy:masterfrom
mpuncel:mpuncel/http2-hc-goaway
Jan 12, 2021
Merged

HTTP health checker: handle GOAWAY from HTTP2 upstreams#13599
mattklein123 merged 51 commits intoenvoyproxy:masterfrom
mpuncel:mpuncel/http2-hc-goaway

Conversation

@mpuncel
Copy link
Copy Markdown
Contributor

@mpuncel mpuncel commented Oct 15, 2020

Makes the HTTP health checker handle GOAWAY properly. When the NO_ERROR
code is received, any in flight request will be allowed to complete, at
which time the connection will be closed and a new connection created on
the next interval.

GOAWAY frames with codes other than NO_ERROR are treated as a health
check failure, and immediately close the connection.

Commit Message:

Makes the HTTP health checker handle GOAWAY properly. When the NO_ERROR
code is received, any in flight request will be allowed to complete, at
which time the connection will be closed and a new connection created on
the next interval.

GOAWAY frames with codes other than NO_ERROR are treated as a health
check failure, and immediately close the connection.
Additional Description:

I verified this locally with the same setup as the described issue, and saw the desired behavior.

Risk Level: Low
Testing: Unit tests
Docs Changes: N/A
Release Notes: Included
Fixes #13544

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api deps Approval required for changes to Envoy's external dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

HTTP health checker does not gracefully handle HTTP2 server shutdown (GOAWAY with NO_ERROR)

8 participants