-
Notifications
You must be signed in to change notification settings - Fork 914
Updated retry policy behavior. #1681
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
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1681 +/- ##
============================================
- Coverage 75.35% 75.21% -0.15%
Complexity 1446 1446
============================================
Files 1057 1065 +8
Lines 31517 31703 +186
Branches 2427 2441 +14
============================================
+ Hits 23749 23844 +95
- Misses 6578 6643 +65
- Partials 1190 1216 +26
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.
Still going through the PR.
core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/capacity/TokenBucket.java
Show resolved
Hide resolved
core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/capacity/TokenBucket.java
Outdated
Show resolved
Hide resolved
@@ -37,10 +36,10 @@ | |||
private final ExecutionAttributes executionAttributes; | |||
|
|||
private ExecutionContext(final Builder builder) { | |||
this.signer = Validate.paramNotNull(builder.signer, "signer"); |
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.
Why did we remove those validations?
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 added them originally, but in hindsight they just made testing more difficult.
I ended up not needing them removed, because I changed the way I was testing this change, so I could add them back in again.
...re/src/main/java/software/amazon/awssdk/core/retry/conditions/TokenBucketRetryCondition.java
Outdated
Show resolved
Hide resolved
core/sdk-core/src/main/java/software/amazon/awssdk/core/retry/conditions/RetryCondition.java
Show resolved
Hide resolved
130e421
to
f68b47e
Compare
core/aws-core/src/main/java/software/amazon/awssdk/awscore/retry/AwsRetryPolicy.java
Outdated
Show resolved
Hide resolved
core/sdk-core/src/main/java/software/amazon/awssdk/core/retry/RetryPolicy.java
Outdated
Show resolved
Hide resolved
codegen/src/main/java/software/amazon/awssdk/codegen/poet/builder/BaseClientBuilderClass.java
Show resolved
Hide resolved
...va/software/amazon/awssdk/core/internal/http/pipeline/stages/utils/RetryableStageHelper.java
Show resolved
Hide resolved
...in/java/software/amazon/awssdk/core/retry/conditions/TokenBucketExceptionCostCalculator.java
Outdated
Show resolved
Hide resolved
...re/src/main/java/software/amazon/awssdk/core/retry/conditions/TokenBucketRetryCondition.java
Outdated
Show resolved
Hide resolved
...re/src/main/java/software/amazon/awssdk/core/retry/conditions/TokenBucketRetryCondition.java
Show resolved
Hide resolved
...va/software/amazon/awssdk/core/internal/http/pipeline/stages/utils/RetryableStageHelper.java
Show resolved
Hide resolved
...ed-classes-test/src/test/java/software/amazon/awssdk/services/retry/ClientRetryModeTest.java
Outdated
Show resolved
Hide resolved
c541587
to
d1c2a59
Compare
core/sdk-core/src/main/java/software/amazon/awssdk/core/retry/conditions/OrRetryCondition.java
Outdated
Show resolved
Hide resolved
2a1862c
to
b4dbc44
Compare
1. Added support for "retry modes". A retry mode allows configuring multiple SDK parameters at once using default retry profiles, some of which are standardized between AWS SDK languages. See RetryMode javadoc for more information. 2. Added the ability to configure or disable the default retry throttling behavior of the SDK that 'kicks in' during a large volume of retriable service call errors. This behavior can now be configured via `RetryPolicy.retryCapacityCondition`. 3. Fixed an issue where the retry condition returned by `RetryPolicy.retryCondition` differed from the one specified by `RetryPolicy.Builder.retryCondition`. The old value can be accessed via the new `RetryPolicy.aggregateRetryCondition`. 4. Fixed an issue where specifying your own retry policy would override AWS and service-specific retry conditions. By default, all retry policies now have AWS and service-specific retry conditions added. This can be disabled via the new `RetryPolicy.furtherRefinementsAllowed(false)`.
3799a64
to
329cd60
Compare
Kudos, SonarCloud Quality Gate passed!
|
…071cdf421 Pull request: release <- staging/3ba8be65-dc3b-4f8e-9b75-ee8071cdf421
RetryPolicy.retryCapacityCondition
.RetryPolicy.retryCondition
differed from the one specified byRetryPolicy.Builder.retryCondition
. The old value can be accessed via the newRetryPolicy.aggregateRetryCondition
.RetryPolicy.furtherRefinementsAllowed(false)
.