[release/6.0-staging] [HTTP/2] Fix handling of effectively empty DATA frame (#99502) #99678
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #99502 to release/6.0-staging
Customer Impact
Reported by Bing crawler. It impacts about 4-5 million URLs they visit a day.
The problem is with specific HTTP/2 servers, which send RFC-valid responses, which are a bit unusual -- they return DATA frame with only padding and no data.
We will interpret it as end of stream (truncating the HTTP response).
Known impacted servers:
Regression
Not a regression.
Testing
Manual testing by user repro case.
We added functional test for this specific case.
Customer validated private bits.
Risk
Low. Specific server behaving in allowed but non-standard way. Also, the change is very small, non-invasive and tested.