Skip to content

grpc_http1_bridge: prevent excessive data removal#24418

Merged
snowp merged 3 commits intoenvoyproxy:mainfrom
kmcbride:grpc-http1-bridge-data-fix
Jan 6, 2023
Merged

grpc_http1_bridge: prevent excessive data removal#24418
snowp merged 3 commits intoenvoyproxy:mainfrom
kmcbride:grpc-http1-bridge-data-fix

Conversation

@kmcbride
Copy link
Copy Markdown
Contributor

@kmcbride kmcbride commented Dec 7, 2022

When leveraging the Protobuf upgrade functionality there is the possibility of data loss for responses that are processed in multiple chunks, as the frame header to be removed is seemingly only present in the first chunk.

This is a fix for an issue that we've seen in practice: clients fail to decode responses >16KB because 5 bytes of data is missing every subsequent ~16KB.

@kmcbride kmcbride requested a review from snowp as a code owner December 7, 2022 14:38
@repokitteh-read-only
Copy link
Copy Markdown

Hi @kmcbride, welcome and thank you for your contribution.

We will try to review your Pull Request as quickly as possible.

In the meantime, please take a look at the contribution guidelines if you have not done so already.

🐱

Caused by: #24418 was opened by kmcbride.

see: more, trace.

@kmcbride
Copy link
Copy Markdown
Contributor Author

kmcbride commented Dec 7, 2022

/retest

@repokitteh-read-only
Copy link
Copy Markdown

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #24418 (comment) was created by @kmcbride.

see: more, trace.

Copy link
Copy Markdown
Contributor

@snowp snowp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the fix! This makes sense to me

Do you think you could update the unit tests to cover this case?

A release note would also be warranted (https://github.com/envoyproxy/envoy/blob/main/changelogs/current.yaml)

/wait

Comment thread source/extensions/filters/http/grpc_http1_bridge/http1_bridge_filter.cc Outdated
@kmcbride
Copy link
Copy Markdown
Contributor Author

kmcbride commented Dec 8, 2022

/retest

@repokitteh-read-only
Copy link
Copy Markdown

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #24418 (comment) was created by @kmcbride.

see: more, trace.

@kmcbride
Copy link
Copy Markdown
Contributor Author

kmcbride commented Dec 8, 2022

@snowp thanks for the review. The latest commit should hopefully address the comments.

Signed-off-by: kmcbride <kmcbride@users.noreply.github.com>
@kmcbride
Copy link
Copy Markdown
Contributor Author

kmcbride commented Dec 9, 2022

/retest

@repokitteh-read-only
Copy link
Copy Markdown

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #24418 (comment) was created by @kmcbride.

see: more, trace.

@kmcbride kmcbride requested a review from snowp December 12, 2022 21:34
snowp
snowp previously approved these changes Dec 15, 2022
Copy link
Copy Markdown
Contributor

@snowp snowp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@snowp snowp enabled auto-merge (squash) December 15, 2022 04:04
@snowp snowp disabled auto-merge December 15, 2022 04:05
@snowp snowp enabled auto-merge (squash) December 15, 2022 04:05
@snowp snowp disabled auto-merge December 15, 2022 04:05
@snowp snowp enabled auto-merge (squash) December 15, 2022 04:06
@kmcbride
Copy link
Copy Markdown
Contributor Author

@snowp CI seems stuck 🙁

@snowp
Copy link
Copy Markdown
Contributor

snowp commented Dec 19, 2022

Can you try pushing an empty commit? I don't think we have a way to force these to re-run

Signed-off-by: kmcbride <kmcbride@users.noreply.github.com>
auto-merge was automatically disabled January 1, 2023 19:29

Head branch was pushed to by a user without write access

@kmcbride kmcbride requested a review from snowp January 1, 2023 22:17
@snowp snowp enabled auto-merge (squash) January 4, 2023 16:06
@kmcbride
Copy link
Copy Markdown
Contributor Author

kmcbride commented Jan 4, 2023

/retest

@repokitteh-read-only
Copy link
Copy Markdown

Retrying Azure Pipelines:

🐱

Caused by: a #24418 (comment) was created by @kmcbride.

see: more, trace.

@kmcbride
Copy link
Copy Markdown
Contributor Author

kmcbride commented Jan 4, 2023

@snowp I think this PR needs to be re-approved because I had to push a commit that fixed a merge conflict in the changelog.

Signed-off-by: kmcbride <kmcbride@users.noreply.github.com>
auto-merge was automatically disabled January 6, 2023 18:37

Head branch was pushed to by a user without write access

Copy link
Copy Markdown
Contributor

@snowp snowp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@snowp snowp enabled auto-merge (squash) January 6, 2023 23:40
@snowp snowp merged commit 8d901f0 into envoyproxy:main Jan 6, 2023
@kmcbride kmcbride deleted the grpc-http1-bridge-data-fix branch January 7, 2023 03:16
VishalDamgude pushed a commit to freshworks-oss/envoy that referenced this pull request Feb 1, 2023
Signed-off-by: kmcbride <kmcbride@users.noreply.github.com>
Signed-off-by: VishalDamgude <vishal.damgude@freshworks.com>
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