From 6df65877c4c8a48bec84aecb8ce43ffd7ac86ebb Mon Sep 17 00:00:00 2001 From: Jiang Hua Date: Wed, 18 Sep 2024 14:41:49 -0700 Subject: [PATCH] increase s3 client max connections from default 50 --- .../java/com/vmware/vip/messages/data/conf/S3Client.java | 6 ++++-- .../java/com/vmware/vip/messages/data/conf/S3Config.java | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/g11n-ws/modules/md-data-api-s3impl/src/main/java/com/vmware/vip/messages/data/conf/S3Client.java b/g11n-ws/modules/md-data-api-s3impl/src/main/java/com/vmware/vip/messages/data/conf/S3Client.java index 3d488516f..9c260a184 100644 --- a/g11n-ws/modules/md-data-api-s3impl/src/main/java/com/vmware/vip/messages/data/conf/S3Client.java +++ b/g11n-ws/modules/md-data-api-s3impl/src/main/java/com/vmware/vip/messages/data/conf/S3Client.java @@ -1,5 +1,5 @@ /** - * Copyright 2019-2023 VMware, Inc. + * Copyright 2019-2024 VMware, Inc. * SPDX-License-Identifier: EPL-2.0 */ package com.vmware.vip.messages.data.conf; @@ -12,6 +12,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; +import com.amazonaws.ClientConfiguration; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; @@ -112,8 +113,9 @@ private synchronized AmazonS3 getAmazonS3() { sessionCreds.getAccessKeyId(), sessionCreds.getSecretAccessKey(), sessionCreds.getSessionToken()); + ClientConfiguration clientConfiguration = new ClientConfiguration().withMaxErrorRetry(5).withMaxConnections(config.getS3ClientMaxConnections()); return AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(sessionCredentials)) - .withRegion(config.getS3Region()).enablePathStyleAccess().build(); + .withRegion(config.getS3Region()).withClientConfiguration(clientConfiguration).enablePathStyleAccess().build(); } diff --git a/g11n-ws/modules/md-data-api-s3impl/src/main/java/com/vmware/vip/messages/data/conf/S3Config.java b/g11n-ws/modules/md-data-api-s3impl/src/main/java/com/vmware/vip/messages/data/conf/S3Config.java index c745db4fb..3d5537107 100644 --- a/g11n-ws/modules/md-data-api-s3impl/src/main/java/com/vmware/vip/messages/data/conf/S3Config.java +++ b/g11n-ws/modules/md-data-api-s3impl/src/main/java/com/vmware/vip/messages/data/conf/S3Config.java @@ -80,7 +80,8 @@ public class S3Config { @Value("${allow.list.path.bucketName:}") private String allowListBucketName; - + @Value("${s3.client.max.connections:500}") + private int s3ClientMaxConnections; public String getAccessKey() { if (this.encryption) { @@ -159,6 +160,10 @@ public String getRoleArn() { return roleArn; } + public int getS3ClientMaxConnections() { + return s3ClientMaxConnections; + } + public String getAllowListBucketName() { if (this.allowListBucketName != null && (!this.allowListBucketName.isBlank())){ return this.allowListBucketName;