-
Notifications
You must be signed in to change notification settings - Fork 910
Aws crt dev preview #1777
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
Aws crt dev preview #1777
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1777 +/- ##
============================================
+ Coverage 76.29% 76.39% +0.10%
Complexity 182 182
============================================
Files 1072 1078 +6
Lines 32252 32669 +417
Branches 2520 2570 +50
============================================
+ Hits 24607 24959 +352
- Misses 6404 6437 +33
- Partials 1241 1273 +32
Continue to review full report at Codecov.
|
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.
Preliminary review, still going through the PR.
Can we add some stability tests for s3 and sqs? The stability tests are used to detect regressions with high concurrent requests. We have the harness, and it should be fairly easy to add new tests with StabilityTestRunner
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
* @param initialWindowSize The AWS Common Runtime WindowSize | ||
* @return The builder of the method chaining. | ||
*/ | ||
Builder initialWindowSize(int initialWindowSize); |
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.
This can be confused with h2 intialWindowSize
.
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.
I'm updating the comment here to better reflect this setting, which actually corresponds to what's described for h1, but will correspond to h2 initialWindowSize for h2 connections. It's not clear what changes will need to be made to fold h2 into the crt client, so for now I'd prefer to leave this be and readdress it (two params? one param with additional per-version comments?) as h2 gets brought in.
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
...ent/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtAsyncHttpStreamAdapter.java
Show resolved
Hide resolved
...ent/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtAsyncHttpStreamAdapter.java
Outdated
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
...ient/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtResponseBodyPublisher.java
Outdated
Show resolved
Hide resolved
...ient/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtResponseBodyPublisher.java
Show resolved
Hide resolved
...ent/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtAsyncHttpStreamAdapter.java
Outdated
Show resolved
Hide resolved
|
||
@Override | ||
public void onResponseHeaders(HttpStream stream, int responseStatusCode, int blockType, HttpHeader[] nextHeaders) { | ||
initRespBodyPublisherIfNeeded(stream); |
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.
Just curious, why do we need to invoke initRespBodyPublisherIfNeeded
in every method?
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.
No clue! We might be able to remove some (onResponseHeaders at least), but am not sure beyond that. I can ping Alex on this.
...ent/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtAsyncHttpStreamAdapter.java
Show resolved
Hide resolved
...ent/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtAsyncHttpStreamAdapter.java
Outdated
Show resolved
Hide resolved
...ent/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtAsyncHttpStreamAdapter.java
Outdated
Show resolved
Hide resolved
...ent/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtAsyncHttpStreamAdapter.java
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Show resolved
Hide resolved
...ent/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtAsyncHttpStreamAdapter.java
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
...ent/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtAsyncHttpStreamAdapter.java
Show resolved
Hide resolved
...ient/src/main/java/software/amazon/awssdk/http/crt/internal/AwsCrtResponseBodyPublisher.java
Outdated
Show resolved
Hide resolved
test/http-client-tests/src/main/java/software/amazon/awssdk/http/H1ServerErrorTestBase.java
Outdated
Show resolved
Hide resolved
...ability-tests/src/it/java/software/amazon/awssdk/stability/tests/s3/S3BaseStabilityTest.java
Outdated
Show resolved
Hide resolved
...ents/aws-crt-client/src/main/java/software/amazon/awssdk/http/crt/AwsCrtAsyncHttpClient.java
Outdated
Show resolved
Hide resolved
…618c8e1dfce Pull request: release <- staging/0b5e2565-d52d-44b6-aea6-e618c8e1dfce
…Integration with AWS Organizations Delegated Administrator feature
…one numbers and to the description for the create subscription action.
…upport for the ArchiveFindings and UnarchiveFindings operations. This release also adds UNKNOWN as an encryption type for S3 bucket metadata.
… Graviton2 processors and ideal for running advanced, compute-intensive workloads; New R6g instances powered by AWS Graviton2 processors and ideal for running memory-intensive workloads.
…LM Lifecycle policy from 500 to 120 characters.
…commendations to Amazon S3.
… a list of predefined deployment strategies while starting deployments.
…a9e918952b9 Pull request: release <- staging/a7270fcf-c2b4-433a-bf5c-6a9e918952b9
This commit prevents the Netty client from throwing an exception in cases where it tries to declare an attribute key and the key already exists. This can happen when separate instances of the SDK are loaded by different classloaders, but the Netty classes loaded by a third and shared by the other classloaders. Fixes aws#1886
Safely declare Netty AttributeKeys
Remove unnecessary copy
…leting capacity providers.
…in AMAZON.KendraSearchIntent that enables integration with Amazon Kendra.
…g a new feature called named shadow, which extends the capability of AWS IoT Device Shadow to support multiple shadows for a single IoT device. With this release, customers can store different device state data into different shadows, and as a result access only the required state data when needed and reduce individual shadow size.
… custom working directory for your build and test workflows. In addition, Image Builder now supports defining tags that are applied to ephemeral resources created by EC2 Image Builder as part of the image creation workflow.
…ing set of actions for the EBS direct APIs: 1. StartSnapshot, which creates a new Amazon EBS snapshot. 2. PutSnapshotBlock, which writes a block of data to a snapshot. 3. CompleteSnapshot, which seals and completes a snapshot after blocks of data have been written to it.
…kUi API to Amazon Augmented AI
…ces outside a mesh to communicate to resources that are inside the mesh. See https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html
…teway as a target.
…for SMS origination number as an attribute in the MessageAttributes parameter for the SNS Publish API.
…da8d5e9232b Pull request: release <- staging/eaca728f-2dab-47fb-b1fd-7da8d5e9232b
- Init test clients with mock credentials provider - Account for asynchrony for local stream window size
Return whenComplete's result, so that it's easier to say that "when the execute future completes, metrics have been published".
Remove SdkMetric#convertValue, and various formatting fixes javadoc fixes
…ve Video Service - a managed live streaming solution that is quick and easy to set up, and ideal for creating interactive video experiences.
…af9bccdaa6a Pull request: release <- staging/2651492b-f0d6-4f13-9b2b-0af9bccdaa6a
Kudos, SonarCloud Quality Gate passed!
|
…dc9350fb4 Pull request: release <- staging/f7fea075-fba9-430b-88e5-c90dc9350fb4
Add support for an http client based on the AWS Common Runtime.
Description
This PR replaces #1607
This PR adds support for TLS negotiation post-quantum cryptographic suites as offered by Amazon KMS. The AWS Common Runtime provides an http client that uses s2n as its TLS implementation, and s2n in turn supports the necessary post-quantum cipher suites.
https://aws.amazon.com/blogs/security/post-quantum-tls-now-supported-in-aws-kms/
https://aws.amazon.com/blogs/security/round-2-hybrid-post-quantum-tls-benchmarks/
Testing
mvn clean install
Types of changes
Checklist
mvn install
succeedsLicense