-
Notifications
You must be signed in to change notification settings - Fork 875
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
ALPN H2 Support for Netty Client #5794
Merged
Merged
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
zoewangg
reviewed
Jan 14, 2025
...main/java/software/amazon/awssdk/codegen/model/config/customization/CustomizationConfig.java
Outdated
Show resolved
Hide resolved
...ients/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtHttpClientBase.java
Outdated
Show resolved
Hide resolved
...-nio-client/src/main/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
...src/main/java/software/amazon/awssdk/http/nio/netty/internal/ChannelPipelineInitializer.java
Outdated
Show resolved
Hide resolved
...src/main/java/software/amazon/awssdk/http/nio/netty/internal/ChannelPipelineInitializer.java
Outdated
Show resolved
Hide resolved
...src/main/java/software/amazon/awssdk/http/nio/netty/internal/ChannelPipelineInitializer.java
Outdated
Show resolved
Hide resolved
...-client/src/main/java/software/amazon/awssdk/http/nio/netty/internal/SslContextProvider.java
Outdated
Show resolved
Hide resolved
...io-client/src/main/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtils.java
Outdated
Show resolved
Hide resolved
dagnir
reviewed
Jan 14, 2025
...main/java/software/amazon/awssdk/codegen/model/config/customization/CustomizationConfig.java
Outdated
Show resolved
Hide resolved
http-client-spi/src/main/java/software/amazon/awssdk/http/ProtocolNegotiation.java
Outdated
Show resolved
Hide resolved
...-nio-client/src/main/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
dagnir
reviewed
Jan 14, 2025
...-nio-client/src/main/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
dagnir
reviewed
Jan 15, 2025
...src/main/java/software/amazon/awssdk/http/nio/netty/internal/ChannelPipelineInitializer.java
Outdated
Show resolved
Hide resolved
zoewangg
reviewed
Jan 15, 2025
...src/main/java/software/amazon/awssdk/http/nio/netty/internal/ChannelPipelineInitializer.java
Show resolved
Hide resolved
...io-client/src/main/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtils.java
Outdated
Show resolved
Hide resolved
...io-client/src/main/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtils.java
Outdated
Show resolved
Hide resolved
...src/main/java/software/amazon/awssdk/http/nio/netty/internal/ChannelPipelineInitializer.java
Show resolved
Hide resolved
dagnir
approved these changes
Jan 22, 2025
zoewangg
reviewed
Jan 22, 2025
...io-client/src/main/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtils.java
Outdated
Show resolved
Hide resolved
...io-client/src/main/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtils.java
Outdated
Show resolved
Hide resolved
...io-client/src/main/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtils.java
Show resolved
Hide resolved
...io-client/src/main/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtils.java
Show resolved
Hide resolved
...-nio-client/src/main/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
...src/main/java/software/amazon/awssdk/http/nio/netty/internal/ChannelPipelineInitializer.java
Outdated
Show resolved
Hide resolved
...src/main/java/software/amazon/awssdk/http/nio/netty/internal/ChannelPipelineInitializer.java
Show resolved
Hide resolved
...-nio-client/src/main/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
zoewangg
reviewed
Jan 22, 2025
...-nio-client/src/main/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClient.java
Show resolved
Hide resolved
...io-client/src/main/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtils.java
Outdated
Show resolved
Hide resolved
zoewangg
approved these changes
Jan 22, 2025
|
2 tasks
ghetelgb
pushed a commit
to ghetelgb/aws-sdk-java-v2
that referenced
this pull request
Feb 7, 2025
* ALPN H2 support in Netty client * Add codegen customizations to skip ALPN for existing H2 services * Add changelog * Add benchmarks * Add tests * Update test * Update test * Address comments * Update test file name * Revert to checking Java version for ALPN support * Update Kinesis integ tests * Propagate exception and close channel * Add tests and update ALPN support check for OpenSsl * Set max streams when completing protocol future * Add test dependencies * Do not use FATAL_ALERT if OpenSSL is used * Remove completing future in ALPN handler * Remove import * Update ALPN support check to check for getApplicationProtocol method in SSLEngine * Address comments * Use Lazy for alpn support check
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.
Motivation and Context
Adds ALPN H2 support to Netty client. ALPN is required when using an ALB in order to negotiate H2 connection.
This can be enabled when using Netty client with h2 protocol.
ALPN support was backported to Java 8 , only works with
1.8.0_251
and newerModifications
Introduces new
ProtocolNegotiation
enum class:ASSUME_PROTOCOL
- Default existing setting, client uses prior knowledgeALPN
- Uses ALPN, without fallback. Only works with h2, throws error if set withProtocol.HTTP1_1
Testing
Added unit and integ tests
Screenshots (if appropriate)
Types of changes