Add HTTP/2 ping options to DestinationRule#3706
Conversation
This is required for solving istio/istio#55640. In particular it is useful for detecting dead TCP connections and/or keeping connections alive through intermediate proxies.
|
Hi @mpuncel. Thanks for your PR. I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
ramaraochavali
left a comment
There was a problem hiding this comment.
One question on the proto.
Can you explain your use case more - where you want to use this?
|
@ramaraochavali the use case is that sometimes in our service mesh we see "stuck" TCP connections, where the request appears to be written to the connection successfully but no response ever comes back, all requests time out for a period of time until the connection is torn down. Envoy HTTP/2 ping can detect this faster and help recover. We have seen this resolve the issue with HTTP/2 ping directly from gRPC client libraries, but want to make it possible to enable via Istio. |
| int32 max_concurrent_streams = 8; | ||
|
|
||
| // Settings for HTTP/2 PING frames. | ||
| message ConnectionKeepalive { |
There was a problem hiding this comment.
are you planning to default the jitter to envoy's default?
There was a problem hiding this comment.
yeah, should I make that configurable here?
There was a problem hiding this comment.
No. Just checking. Envoy default is fine.
ramaraochavali
left a comment
There was a problem hiding this comment.
Looks good to me
@istio/technical-oversight-committee any objections to this?
Summary
connectionPool.http.http2ProtocolOptions.connectionKeepalive.interval/timeouttoDestinationRule.Related
Tests
buf lintgo test ./...fromtests/git diff --check