-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
chore(server/conn): backport max_pending_accept_reset_streams()
#3796
Merged
seanmonstar
merged 1 commit into
hyperium:0.14.x
from
cratelyn:kate/backport-max-pending-accept-reset-streams
Nov 29, 2024
Merged
chore(server/conn): backport max_pending_accept_reset_streams()
#3796
seanmonstar
merged 1 commit into
hyperium:0.14.x
from
cratelyn:kate/backport-max-pending-accept-reset-streams
Nov 29, 2024
Conversation
This file contains 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
seanmonstar
approved these changes
Nov 27, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Submitted #3797 to fix that MSRV job. |
thank you! i'll rebase now |
…builder NB: this commit is based on the `0.14.x` release series. the `server::conn::http2` submodule provides types that are conditionally compiled when the `backports` feature is active, to facilitate upgrading to the `1.x` release. i've been working on upgrading the [`linkerd2-proxy`](https://github.com/linkerd/linkerd2-proxy/) project to use hyper 1.0, but encountered some gaps in `Builder<E>`'s interface when setting the `backports` and `deprecated` features. this adds a `max_pending_accept_reset_streams(..)` method (_added in #3201_) to this builder, so that 0.14.x users relying on this functionality can prepare to upgrade to hyper 1.x safely. this is effectively a backport of hyperium#3507, which restored this interface to the 1.0 release. for more information, see: * hyperium#3201 * hyperium#3507 * hyperium#3461 * https://hyper.rs/guides/1/upgrading/ Signed-off-by: katelyn martin <me+cratelyn@katelyn.world>
cratelyn
force-pushed
the
kate/backport-max-pending-accept-reset-streams
branch
from
November 27, 2024 22:17
28f5e67
to
403b2d0
Compare
cratelyn
added a commit
to linkerd/linkerd2-proxy
that referenced
this pull request
Dec 13, 2024
this commit bumps the version of the workspace's hyper dependency to include hyperium/hyper#3796, which backports the server connection builder's `max_pending_accept_reset_streams()` method. see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0. this commit is based upon #3456. to show the hyper commit in the context of the git log: ```sh ; basename $(pwd) hyper ; git remote get-url upstream git@github.com:hyperium/hyper.git ; git log --oneline --decorate 0.14.x -5 a24f0c0a (HEAD -> 0.14.x, upstream/0.14.x) feat(server): backport `max_pending_accept_reset_streams()` to builder (#3796) 96550840 chore(ci): pin hashbrown for MSRV job (#3797) 7829148b (tag: v0.14.31) v0.14.31 97b595e5 perf(http1): improve parsing of sequentially partial messages 739d5e63 chore(ci): pin some deps for MSRV job ``` Signed-off-by: katelyn martin <kate@buoyant.io>
cratelyn
added a commit
to linkerd/linkerd2-proxy
that referenced
this pull request
Dec 13, 2024
see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0. this commit is based upon #3456, and #3457. this commit is also contingent upon hyperium/hyper#3796, which backports the server connection builder's `max_pending_accept_reset_streams()` method. this commit addresses hyper deprecations in `ServeHttp<N>`, which defines a reusable HTTP/1 and HTTP/2 server for the linkerd proxy. essentially, this commit replaces the singular `Http<E>` with a pair of http/1 and http/2 specific connection `Builder`s. method names no longer have `http2_*` prefixes, otherwise nothing about the connection setup has been changed. in the `Service` implementation, we delegate to the appropriate builder based upon the protocol version. Signed-off-by: katelyn martin <kate@buoyant.io>
cratelyn
added a commit
to linkerd/linkerd2-proxy
that referenced
this pull request
Dec 13, 2024
* chore(hyper): define hyper as a workspace dependency this commit alters various crates' manifests, pointing to a common workspace-level hyper dependency. note that the lockfile is not altered, this commit does *not* affect the version of hyper used, or have any other affect on the dependency graph. this will make future maintenance, upgrading, and patching of our hyper dependency marginally easier. see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0. Signed-off-by: katelyn martin <kate@buoyant.io> * chore(hyper): upgrade hyper to include hyperium/hyper#3796 this commit bumps the version of the workspace's hyper dependency to include hyperium/hyper#3796, which backports the server connection builder's `max_pending_accept_reset_streams()` method. see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0. this commit is based upon #3456. to show the hyper commit in the context of the git log: ```sh ; basename $(pwd) hyper ; git remote get-url upstream git@github.com:hyperium/hyper.git ; git log --oneline --decorate 0.14.x -5 a24f0c0a (HEAD -> 0.14.x, upstream/0.14.x) feat(server): backport `max_pending_accept_reset_streams()` to builder (#3796) 96550840 chore(ci): pin hashbrown for MSRV job (#3797) 7829148b (tag: v0.14.31) v0.14.31 97b595e5 perf(http1): improve parsing of sequentially partial messages 739d5e63 chore(ci): pin some deps for MSRV job ``` Signed-off-by: katelyn martin <kate@buoyant.io> * chore(deny.toml): add `hyperium/hyper` to git allowlist Signed-off-by: katelyn martin <kate@buoyant.io> --------- Signed-off-by: katelyn martin <kate@buoyant.io>
cratelyn
added a commit
to linkerd/linkerd2-proxy
that referenced
this pull request
Dec 13, 2024
see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0. this commit is based upon #3456, and #3457. this commit is also contingent upon hyperium/hyper#3796, which backports the server connection builder's `max_pending_accept_reset_streams()` method. this commit addresses hyper deprecations in `ServeHttp<N>`, which defines a reusable HTTP/1 and HTTP/2 server for the linkerd proxy. essentially, this commit replaces the singular `Http<E>` with a pair of http/1 and http/2 specific connection `Builder`s. method names no longer have `http2_*` prefixes, otherwise nothing about the connection setup has been changed. in the `Service` implementation, we delegate to the appropriate builder based upon the protocol version. Signed-off-by: katelyn martin <kate@buoyant.io>
cratelyn
added a commit
to linkerd/linkerd2-proxy
that referenced
this pull request
Dec 13, 2024
see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0. this commit is based upon #3456, and #3457. this commit is also contingent upon hyperium/hyper#3796, which backports the server connection builder's `max_pending_accept_reset_streams()` method. this commit addresses hyper deprecations in `ServeHttp<N>`, which defines a reusable HTTP/1 and HTTP/2 server for the linkerd proxy. essentially, this commit replaces the singular `Http<E>` with a pair of http/1 and http/2 specific connection `Builder`s. method names no longer have `http2_*` prefixes, otherwise nothing about the connection setup has been changed. in the `Service` implementation, we delegate to the appropriate builder based upon the protocol version. Signed-off-by: katelyn martin <kate@buoyant.io>
cratelyn
added a commit
to linkerd/linkerd2-proxy
that referenced
this pull request
Dec 13, 2024
see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0. this commit is based upon #3456, and #3457. this commit is also contingent upon hyperium/hyper#3796, which backports the server connection builder's `max_pending_accept_reset_streams()` method. this commit addresses hyper deprecations in `ServeHttp<N>`, which defines a reusable HTTP/1 and HTTP/2 server for the linkerd proxy. essentially, this commit replaces the singular `Http<E>` with a pair of http/1 and http/2 specific connection `Builder`s. method names no longer have `http2_*` prefixes, otherwise nothing about the connection setup has been changed. in the `Service` implementation, we delegate to the appropriate builder based upon the protocol version. Signed-off-by: katelyn martin <kate@buoyant.io>
cratelyn
added a commit
to linkerd/linkerd2-proxy
that referenced
this pull request
Dec 13, 2024
see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0. this commit is based upon #3456, and #3457. this commit is also contingent upon hyperium/hyper#3796, which backports the server connection builder's `max_pending_accept_reset_streams()` method. this commit addresses hyper deprecations in `ServeHttp<N>`, which defines a reusable HTTP/1 and HTTP/2 server for the linkerd proxy. essentially, this commit replaces the singular `Http<E>` with a pair of http/1 and http/2 specific connection `Builder`s. method names no longer have `http2_*` prefixes, otherwise nothing about the connection setup has been changed. in the `Service` implementation, we delegate to the appropriate builder based upon the protocol version. Signed-off-by: katelyn martin <kate@buoyant.io>
cratelyn
added a commit
to linkerd/linkerd2-proxy
that referenced
this pull request
Dec 18, 2024
this commit upgrades to hyper 0.14.32, removing the manifest's `[patch]` section. hyperium/hyper#3796 backported a method we use when building http/2 connections. #3457 patched the workspace to rely on a git dependency of hyper at commit `a24f0c0a`. this work has been released in version 0.14.32. this commit also changes `deny.toml`, removing the exception we carved out for hyper in #3457. for more information, see: * hyperium/hyper#3796 * linkerd/linkerd2#8733 * https://github.com/hyperium/hyper/commits/0.14.x * #3457 * 03f5577 Signed-off-by: katelyn martin <kate@buoyant.io>
olix0r
added a commit
to linkerd/linkerd2-proxy
that referenced
this pull request
Jan 5, 2025
this commit upgrades to hyper 0.14.32, removing the manifest's `[patch]` section. hyperium/hyper#3796 backported a method we use when building http/2 connections. #3457 patched the workspace to rely on a git dependency of hyper at commit `a24f0c0a`. this work has been released in version 0.14.32. this commit also changes `deny.toml`, removing the exception we carved out for hyper in #3457. for more information, see: * hyperium/hyper#3796 * linkerd/linkerd2#8733 * https://github.com/hyperium/hyper/commits/0.14.x * #3457 * 03f5577 Signed-off-by: katelyn martin <kate@buoyant.io> Co-authored-by: Oliver Gould <ver@buoyant.io>
1 task
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.
NB: this commit is based on the
0.14.x
release series.the
server::conn::http2
submodule provides types that are conditionally compiled when thebackports
feature is active, to facilitate upgrading to the1.x
release.i've been working on upgrading the
linkerd2-proxy
project to use hyper 1.0, but encountered a pertinent gap inBuilder<E>
's interface when setting thebackports
anddeprecated
features.this adds a
max_pending_accept_reset_streams(..)
method (added in #3201) to this builder, so that 0.14.x users relying on this functionality can prepare to upgrade to hyper 1.x safely.this is effectively a backport of #3507, which restored this interface to the 1.0 release.
for more information, see:
max_pending_accept_reset_streams
#3461