Skip to content

Commit 5875f03

Browse files
authored
refactor(inkless:s3): enable adaptive retry mode (#442)
This mode shows better performance under concurrent, high-troughput scenarios by accommodating request rates to cope with the throughput needed.
1 parent daf289f commit 5875f03

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

storage/inkless/src/main/java/io/aiven/inkless/storage_backend/s3/S3ClientBuilder.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
2323
import software.amazon.awssdk.core.internal.http.loader.DefaultSdkHttpClientBuilder;
24+
import software.amazon.awssdk.core.retry.RetryMode;
2425
import software.amazon.awssdk.http.SdkHttpConfigurationOption;
2526
import software.amazon.awssdk.regions.Region;
2627
import software.amazon.awssdk.services.s3.S3Client;
@@ -61,6 +62,8 @@ static S3Client build(final Metrics metrics, final S3StorageConfig config) {
6162
c.addMetricPublisher(metricCollector);
6263
c.apiCallTimeout(config.apiCallTimeout());
6364
c.apiCallAttemptTimeout(config.apiCallAttemptTimeout());
65+
// Optimizes for concurrency and high throughput use-cases by adjusting request rate dynamically
66+
c.retryStrategy(RetryMode.ADAPTIVE_V2);
6467
});
6568
return s3ClientBuilder.build();
6669
}

0 commit comments

Comments
 (0)