This is an automated email from the ASF dual-hosted git repository.

fanningpj pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-connectors.git


The following commit(s) were added to refs/heads/main by this push:
     new b3ae867c5 switch to AWS SDK RetryStrategy (#708)
b3ae867c5 is described below

commit b3ae867c55f771704386d7c11a8b6c2c760dcf3c
Author: PJ Fanning <[email protected]>
AuthorDate: Mon Jun 24 08:58:36 2024 +0100

    switch to AWS SDK RetryStrategy (#708)
---
 docs/src/main/paradox/aws-shared-configuration.md    |  2 +-
 docs/src/main/paradox/dynamodb.md                    |  2 +-
 dynamodb/src/test/java/docs/javadsl/RetryTest.java   | 18 +++++-------------
 .../src/test/scala/docs/scaladsl/RetrySpec.scala     | 20 ++++++--------------
 4 files changed, 13 insertions(+), 29 deletions(-)

diff --git a/docs/src/main/paradox/aws-shared-configuration.md 
b/docs/src/main/paradox/aws-shared-configuration.md
index ad06532dd..037a84aac 100644
--- a/docs/src/main/paradox/aws-shared-configuration.md
+++ b/docs/src/main/paradox/aws-shared-configuration.md
@@ -30,7 +30,7 @@ if you share the client between multiple Sources, Sinks and 
Flows. For the SQS S
 
 The AWS SDK 2 supports request retrying with exponential backoff.
 
-The request retry behaviour is configurable via the 
@javadoc[SdkDefaultClientBuilder.overrideConfiguration](software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder#overrideConfiguration-software.amazon.awssdk.core.client.config.ClientOverrideConfiguration-)
 method by using the 
@javadoc[RetryPolicy](software.amazon.awssdk.core.retry.RetryPolicy).
+The request retry behaviour is configurable via the 
@javadoc[SdkDefaultClientBuilder.overrideConfiguration](software.amazon.awssdk.core.client.builder.SdkDefaultClientBuilder#overrideConfiguration-software.amazon.awssdk.core.client.config.ClientOverrideConfiguration-)
 method by using the 
@javadoc[RetryStrategy](software.amazon.awssdk.retries.api.RetryStrategy).
 
 Scala
 : @@snip [snip](/dynamodb/src/test/scala/docs/scaladsl/RetrySpec.scala) { 
#awsRetryConfiguration }
diff --git a/docs/src/main/paradox/dynamodb.md 
b/docs/src/main/paradox/dynamodb.md
index ded75cc47..c9ee3db4d 100644
--- a/docs/src/main/paradox/dynamodb.md
+++ b/docs/src/main/paradox/dynamodb.md
@@ -87,7 +87,7 @@ Java
 
 ## Error Retries and Exponential Backoff
 
-The AWS SDK 2 implements error retrying with exponential backoff which is 
configurable via the 
@javadoc[DynamoDbAsyncClient](software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient)
 configuration by using the 
@javadoc[RetryPolicy](software.amazon.awssdk.core.retry.RetryPolicy) in 
`overrideConfiguration`.
+The AWS SDK 2 implements error retrying with exponential backoff which is 
configurable via the 
@javadoc[DynamoDbAsyncClient](software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient)
 configuration by using the 
@javadoc[RetryStrategy](software.amazon.awssdk.retries.api.RetryStrategy) in 
`overrideConfiguration`.
 
 See @ref[AWS Retry configuration](aws-shared-configuration.md) for more 
details.
 
diff --git a/dynamodb/src/test/java/docs/javadsl/RetryTest.java 
b/dynamodb/src/test/java/docs/javadsl/RetryTest.java
index a1ee03076..b4d4f4089 100644
--- a/dynamodb/src/test/java/docs/javadsl/RetryTest.java
+++ b/dynamodb/src/test/java/docs/javadsl/RetryTest.java
@@ -26,10 +26,7 @@ import software.amazon.awssdk.regions.Region;
 import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;
 // #awsRetryConfiguration
 import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
-import software.amazon.awssdk.core.internal.retry.SdkDefaultRetrySetting;
-import software.amazon.awssdk.core.retry.RetryPolicy;
-import software.amazon.awssdk.core.retry.backoff.BackoffStrategy;
-import software.amazon.awssdk.core.retry.conditions.RetryCondition;
+import software.amazon.awssdk.retries.DefaultRetryStrategy;
 // #clientRetryConfig
 
 // #awsRetryConfiguration
@@ -50,15 +47,10 @@ public class RetryTest {
             // #awsRetryConfiguration
             .overrideConfiguration(
                 ClientOverrideConfiguration.builder()
-                    .retryPolicy(
-                        // This example shows the AWS SDK 2 
`RetryPolicy.defaultRetryPolicy()`
-                        // See
-                        // 
https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/core/retry/RetryPolicy.html
-                        RetryPolicy.builder()
-                            .backoffStrategy(BackoffStrategy.defaultStrategy())
-                            
.throttlingBackoffStrategy(BackoffStrategy.defaultThrottlingStrategy())
-                            
.numRetries(SdkDefaultRetrySetting.defaultMaxAttempts())
-                            
.retryCondition(RetryCondition.defaultRetryCondition())
+                    .retryStrategy(
+                        // See 
https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/retries/api/RetryStrategy.html
+                        DefaultRetryStrategy.legacyStrategyBuilder()
+                            .treatAsThrottling(e -> true)
                             .build())
                     .build())
             // #awsRetryConfiguration
diff --git a/dynamodb/src/test/scala/docs/scaladsl/RetrySpec.scala 
b/dynamodb/src/test/scala/docs/scaladsl/RetrySpec.scala
index 8766a8ece..7c0aa14a8 100644
--- a/dynamodb/src/test/scala/docs/scaladsl/RetrySpec.scala
+++ b/dynamodb/src/test/scala/docs/scaladsl/RetrySpec.scala
@@ -22,11 +22,7 @@ import org.scalatest.BeforeAndAfterAll
 import software.amazon.awssdk.auth.credentials.{ AwsBasicCredentials, 
StaticCredentialsProvider }
 // #awsRetryConfiguration
 import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration
-import software.amazon.awssdk.core.internal.retry.SdkDefaultRetrySetting
-import software.amazon.awssdk.core.retry.RetryPolicy
-import software.amazon.awssdk.core.retry.backoff.BackoffStrategy
-import software.amazon.awssdk.core.retry.conditions.RetryCondition
-
+import software.amazon.awssdk.retries.DefaultRetryStrategy
 // #awsRetryConfiguration
 import software.amazon.awssdk.regions.Region
 import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient
@@ -48,15 +44,11 @@ class RetrySpec
     .overrideConfiguration(
       ClientOverrideConfiguration
         .builder()
-        .retryPolicy(
-          // This example shows the AWS SDK 2 
`RetryPolicy.defaultRetryPolicy()`
-          // See 
https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/core/retry/RetryPolicy.html
-          RetryPolicy.builder
-            .backoffStrategy(BackoffStrategy.defaultStrategy)
-            
.throttlingBackoffStrategy(BackoffStrategy.defaultThrottlingStrategy)
-            .numRetries(SdkDefaultRetrySetting.defaultMaxAttempts)
-            .retryCondition(RetryCondition.defaultRetryCondition)
-            .build)
+        .retryStrategy(
+          // See 
https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/retries/api/RetryStrategy.html
+          DefaultRetryStrategy.legacyStrategyBuilder()
+            .treatAsThrottling(_ => true)
+            .build())
         .build())
     // #awsRetryConfiguration
     .build()


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to