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

okhttp: fix incorrect connection-level flow control handling at beginning of connection (v1.28.x backport) #6777

Closed

Conversation

voidzcy
Copy link
Contributor

@voidzcy voidzcy commented Feb 27, 2020

Specifically, this addresses bugs that occur when the OkHttpChannelBuilder.flowControlWindow(int) setting is increased from its default value.

Two changes:

  1. On starting a connection, ensure the value of OkHttpChannelBuilder.flowControlWindow(int) is sent via Settings.INITIAL_WINDOW_SIZE. Also send a WINDOW_UPDATE after Settings to update the connection-level window.
  2. Always initialize the OutboundFlowController with an initialWindowSize of 65335 bytes per the http2 spec instead of using the inbound window size.

Fixes #6685


Backport of #6742.

…ning of connection

Specifically, this addresses bugs that occur when the `OkHttpChannelBuilder.flowControlWindow(int)` setting is increased from its default value.

Two changes:
1. On starting a connection, ensure the value of `OkHttpChannelBuilder.flowControlWindow(int)` is sent via Settings.INITIAL_WINDOW_SIZE. Also send a WINDOW_UPDATE after Settings to update the connection-level window.
2. Always initialize the `OutboundFlowController` with an initialWindowSize of 65335 bytes per the [http2 spec](https://http2.github.io/http2-spec/#InitialWindowSize) instead of using the inbound window size.

Fixes grpc#6685
@voidzcy voidzcy closed this Feb 27, 2020
@voidzcy voidzcy removed the request for review from creamsoup February 27, 2020 21:27
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 17, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

OkHttpChannelBuilder.flowControlWindow(int) isn't working
2 participants