quic: Update the reset reason mappings for QUIC_STREAM_CANCELLED#39007
Merged
RyanTheOptimist merged 2 commits intoenvoyproxy:mainfrom Apr 7, 2025
Merged
quic: Update the reset reason mappings for QUIC_STREAM_CANCELLED#39007RyanTheOptimist merged 2 commits intoenvoyproxy:mainfrom
RyanTheOptimist merged 2 commits intoenvoyproxy:mainfrom
Conversation
Previously, the QUICHE error `quic::QUIC_STREAM_CANCELLED` was mapped to
`StreamResetReason::OverloadManager`, but that was a questionable choice
because the OverloadManager has specific implications (like dealing with
overload and memory management of buffers).
This commit changes two things:
1. `quic::QUIC_STREAM_CANCELLED` is mapped to either `LocalReset` or
`RemoteReset`.
2. `StreamResetReason::OverloadManager` is mapped to
`quic::QUIC_STREAM_EXCESSIVE_LOAD`, which seems like a more
appropriate choice to convey the semantics of the overload manager
behavior.
Signed-off-by: Ali Beyad <abeyad@google.com>
Contributor
Author
|
/assign @wu-bin @RyanTheOptimist |
wu-bin
approved these changes
Apr 3, 2025
| return quic::QUIC_STREAM_REQUEST_REJECTED; | ||
| case Http::StreamResetReason::OverloadManager: | ||
| return quic::QUIC_STREAM_CANCELLED; | ||
| return quic::QUIC_STREAM_EXCESSIVE_LOAD; |
Contributor
There was a problem hiding this comment.
The comment for this error code in quic_error_codes.h says
// Peer exhibits a behavior that might be generating excessive load.
QUIC_STREAM_EXCESSIVE_LOAD = 24,
So it was originally for a different purpose. Can we update that comment in QUICHE as a follow up?
Contributor
Author
There was a problem hiding this comment.
Thanks Bin! Will do that in a QUICHE CL.
| (std::get<0>(GetParam()).downstream_protocol == Http::CodecType::HTTP2 | ||
| ? Http::StreamResetReason::RemoteReset | ||
| : Http::StreamResetReason::OverloadManager)); | ||
| EXPECT_EQ(response1->resetReason(), Http::StreamResetReason::RemoteReset); |
Contributor
There was a problem hiding this comment.
Nice to see one less diff between H2 and H3!
Contributor
Author
|
/retest |
copybara-service bot
pushed a commit
to google/quiche
that referenced
this pull request
Apr 3, 2025
…ader usage. See envoyproxy/envoy#39007 for a new Envoy usage of the error code. PiperOrigin-RevId: 743655095
RyanTheOptimist
approved these changes
Apr 7, 2025
agrawroh
pushed a commit
to agrawroh/envoy
that referenced
this pull request
Apr 9, 2025
…oyproxy#39007) Previously, the QUICHE error `quic::QUIC_STREAM_CANCELLED` was mapped to `StreamResetReason::OverloadManager`, but that was a questionable choice because the OverloadManager has specific implications (like dealing with overload and memory management of buffers). This commit changes two things: 1. `quic::QUIC_STREAM_CANCELLED` is mapped to either `LocalReset` or `RemoteReset`. 2. `StreamResetReason::OverloadManager` is mapped to `quic::QUIC_STREAM_EXCESSIVE_LOAD`, which seems like a more appropriate choice to convey the semantics of the overload manager behavior. Risk Level: Low Testing: Unit/Integration Docs Changes: N/A Release Notes: N/A Platform Specific Features: N/A --------- Signed-off-by: Ali Beyad <abeyad@google.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Previously, the QUICHE error
quic::QUIC_STREAM_CANCELLEDwas mapped toStreamResetReason::OverloadManager, but that was a questionable choice because the OverloadManager has specific implications (like dealing with overload and memory management of buffers).This commit changes two things:
quic::QUIC_STREAM_CANCELLEDis mapped to eitherLocalResetorRemoteReset.StreamResetReason::OverloadManageris mapped toquic::QUIC_STREAM_EXCESSIVE_LOAD, which seems like a more appropriate choice to convey the semantics of the overload manager behavior.Risk Level: Low
Testing: Unit/Integration
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A