Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

http conn man: do not eat data and trailers if response has started #81

Merged
merged 1 commit into from
Sep 19, 2016

Conversation

mattklein123
Copy link
Member

Previously we assumed that if an upstream response started, the upstream
server no longer cares about further request data. This is not the case in
bidirectional streaming scenarios such as gRPC streaming requests and responses.
We need to relax this requirement. I believe the only change required here beyond
dropping the restriction is to fix retry state handling in the router, however
this is a scary change so there might be follow on fixes.

Note that both the HTTP/1.1 and HTTP/2 codecs should not raise any further data
frames if a stream is reset which should make this handling safe.

Previously we assumed that if an upstream response started, the upstream
server no longer cares about further request data. This is not the case in
bidirectional streaming scenarios such as gRPC streaming requests and responses.
We need to relax this requirement. I believe the only change required here beyond
dropping the restriction is to fix retry state handling in the router, however
this is a scary change so there might be follow on fixes.

Note that both the HTTP/1.1 and HTTP/2 codecs should not raise any further data
frames if a stream is reset which should make this handling safe.
@mattklein123
Copy link
Member Author

@lyft/network-team

@mattklein123 mattklein123 merged commit 2e53d07 into master Sep 19, 2016
@mattklein123 mattklein123 deleted the grpc_streaming branch September 19, 2016 23:23
rshriram pushed a commit to rshriram/envoy that referenced this pull request Oct 30, 2018
* Not to use bazel to generate global_dictionary.cc

* Fix python script.
jpsim pushed a commit that referenced this pull request Nov 28, 2022
envoyproxy/envoy-mobile#65

Adding the same information from envoyproxy/envoy-mobile#64 for Kotlin

Signed-off-by: Alan Chiu <achiu@lyft.com>

For an explanation of how to fill out the fields, please see the relevant section
in [PULL_REQUESTS.md](https://github.com/envoyproxy/envoy/blob/master/PULL_REQUESTS.md)

Description: Kotlin example documentation
Risk Level: Low
Testing: N/A
Docs Changes: Kotlin example documentation
Release Notes: N/A
[Optional Fixes #Issue]
[Optional Deprecated:]

Signed-off-by: JP Simard <jp@jpsim.com>
jpsim pushed a commit that referenced this pull request Nov 29, 2022
envoyproxy/envoy-mobile#65

Adding the same information from envoyproxy/envoy-mobile#64 for Kotlin

Signed-off-by: Alan Chiu <achiu@lyft.com>

For an explanation of how to fill out the fields, please see the relevant section
in [PULL_REQUESTS.md](https://github.com/envoyproxy/envoy/blob/master/PULL_REQUESTS.md)

Description: Kotlin example documentation
Risk Level: Low
Testing: N/A
Docs Changes: Kotlin example documentation
Release Notes: N/A
[Optional Fixes #Issue]
[Optional Deprecated:]

Signed-off-by: JP Simard <jp@jpsim.com>
arminabf pushed a commit to arminabf/envoy that referenced this pull request Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants