You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2023/01/20 12:01:38 UTC
[airavata-mft] branch master updated: Adding controller and agent into standalone deployment
This is an automated email from the ASF dual-hosted git repository.
dimuthuupe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-mft.git
The following commit(s) were added to refs/heads/master by this push:
new 606a109 Adding controller and agent into standalone deployment
606a109 is described below
commit 606a109df810585bea893a0633d1303c9f1508ff
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Fri Jan 20 07:01:28 2023 -0500
Adding controller and agent into standalone deployment
---
.../java/org/apache/airavata/mft/agent/AppConfig.java | 2 +-
.../java/org/apache/airavata/mft/agent/MFTAgent.java | 5 +++--
.../mft/agent/ingress/ConsulIngressHandler.java | 4 ++--
...lication.properties => agent-application.properties} | 0
.../apache/airavata/mft/api/handler/MFTApiHandler.java | 2 +-
.../org/apache/airavata/mft/admin/MFTConsulClient.java | 4 ++--
.../org/apache/airavata/mft/admin/SyncRPCClient.java | 4 ++--
controller/pom.xml | 7 ++++++-
.../org/apache/airavata/mft/controller/AppConfig.java | 2 +-
.../apache/airavata/mft/controller/MFTController.java | 8 +++++---
.../mft/controller/spawner/AgentOrchestrator.java | 17 +++++++++++++++--
.../mft/controller/spawner/EC2AgentSpawner.java | 5 ++++-
...ion.properties => controller-application.properties} | 0
pom.xml | 5 +++--
services/resource-service/server/pom.xml | 5 -----
services/secret-service/server/pom.xml | 2 +-
standalone-service/pom.xml | 10 ++++++++++
.../airavata/mft/standalone/server/AppConfig.java | 4 ----
.../standalone/server/StandaloneServiceApplication.java | 7 ++++---
.../src/main/resources/application.properties | 10 +++++++++-
.../resources/distribution/conf/application.properties | 10 +++++++++-
transport/gcp-transport/pom.xml | 5 -----
transport/s3-transport/pom.xml | 2 +-
23 files changed, 79 insertions(+), 41 deletions(-)
diff --git a/agent/service/src/main/java/org/apache/airavata/mft/agent/AppConfig.java b/agent/service/src/main/java/org/apache/airavata/mft/agent/AppConfig.java
index 1ee0326..1b0f95a 100644
--- a/agent/service/src/main/java/org/apache/airavata/mft/agent/AppConfig.java
+++ b/agent/service/src/main/java/org/apache/airavata/mft/agent/AppConfig.java
@@ -24,7 +24,7 @@ import org.apache.airavata.mft.agent.rpc.RPCParser;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-@Configuration
+@Configuration("AgentAppConfig")
public class AppConfig {
@org.springframework.beans.factory.annotation.Value("${consul.host}")
diff --git a/agent/service/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java b/agent/service/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java
index 1353ca0..ffa9ff0 100644
--- a/agent/service/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java
+++ b/agent/service/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java
@@ -27,13 +27,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import javax.annotation.PreDestroy;
import java.util.List;
import java.util.concurrent.*;
+import org.springframework.context.annotation.PropertySource;
-@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
+@SpringBootApplication()
+@PropertySource(value = "classpath:agent-application.properties")
public class MFTAgent implements CommandLineRunner {
private static final Logger logger = LoggerFactory.getLogger(MFTAgent.class);
diff --git a/agent/service/src/main/java/org/apache/airavata/mft/agent/ingress/ConsulIngressHandler.java b/agent/service/src/main/java/org/apache/airavata/mft/agent/ingress/ConsulIngressHandler.java
index bc705d7..0da8704 100644
--- a/agent/service/src/main/java/org/apache/airavata/mft/agent/ingress/ConsulIngressHandler.java
+++ b/agent/service/src/main/java/org/apache/airavata/mft/agent/ingress/ConsulIngressHandler.java
@@ -213,8 +213,8 @@ public class ConsulIngressHandler {
@PostConstruct
public void init() throws Exception {
- transferMessageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.AGENTS_TRANSFER_REQUEST_MESSAGE_PATH + agentId);
- rpcMessageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.AGENTS_RPC_REQUEST_MESSAGE_PATH + agentId);
+ transferMessageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.AGENTS_TRANSFER_REQUEST_MESSAGE_PATH + agentId, 9);
+ rpcMessageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.AGENTS_RPC_REQUEST_MESSAGE_PATH + agentId, 9);
boolean connected = false;
int connectionRetries = 0;
diff --git a/agent/service/src/main/resources/application.properties b/agent/service/src/main/resources/agent-application.properties
similarity index 100%
rename from agent/service/src/main/resources/application.properties
rename to agent/service/src/main/resources/agent-application.properties
diff --git a/api/service/src/main/java/org/apache/airavata/mft/api/handler/MFTApiHandler.java b/api/service/src/main/java/org/apache/airavata/mft/api/handler/MFTApiHandler.java
index f8533a8..69c7262 100644
--- a/api/service/src/main/java/org/apache/airavata/mft/api/handler/MFTApiHandler.java
+++ b/api/service/src/main/java/org/apache/airavata/mft/api/handler/MFTApiHandler.java
@@ -499,7 +499,7 @@ public class MFTApiHandler extends MFTTransferServiceGrpc.MFTTransferServiceImpl
.asException());
}
} catch (Exception e) {
- logger.error("Error while fetching resource metadata for resource path " + directRequest.getResourcePath(), e);
+ logger.error("Error while fetching resource metadata" , e);
responseObserver.onError(Status.INTERNAL
.withDescription("Failed to fetch file resource metadata. " + e.getMessage())
.asException());
diff --git a/common/common-clients/src/main/java/org/apache/airavata/mft/admin/MFTConsulClient.java b/common/common-clients/src/main/java/org/apache/airavata/mft/admin/MFTConsulClient.java
index 470a554..35cb4c3 100644
--- a/common/common-clients/src/main/java/org/apache/airavata/mft/admin/MFTConsulClient.java
+++ b/common/common-clients/src/main/java/org/apache/airavata/mft/admin/MFTConsulClient.java
@@ -21,7 +21,6 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.net.HostAndPort;
import com.google.protobuf.InvalidProtocolBufferException;
-import com.google.protobuf.util.JsonFormat;
import com.orbitz.consul.Consul;
import com.orbitz.consul.ConsulException;
import com.orbitz.consul.KeyValueClient;
@@ -101,7 +100,8 @@ public class MFTConsulClient {
List<HostAndPort> hostAndPorts = consulHostPorts.entrySet().stream()
.map(entry -> fromParts(entry.getKey(), entry.getValue()))
.collect(Collectors.toList());
- this.client = Consul.builder().withMultipleHostAndPort(hostAndPorts, 100000).build();
+ this.client = Consul.builder().withMultipleHostAndPort(hostAndPorts, 100000)
+ .withReadTimeoutMillis(11000).withWriteTimeoutMillis(1000).build();
this.kvClient = client.keyValueClient();
this.sessionClient = client.sessionClient();
}
diff --git a/common/common-clients/src/main/java/org/apache/airavata/mft/admin/SyncRPCClient.java b/common/common-clients/src/main/java/org/apache/airavata/mft/admin/SyncRPCClient.java
index 9e2e1f6..ff0463d 100644
--- a/common/common-clients/src/main/java/org/apache/airavata/mft/admin/SyncRPCClient.java
+++ b/common/common-clients/src/main/java/org/apache/airavata/mft/admin/SyncRPCClient.java
@@ -56,7 +56,7 @@ public class SyncRPCClient {
}
public void init() {
- syncResponseCache = KVCache.newCache(mftConsulClient.getKvClient(), baseResponsePath);
+ syncResponseCache = KVCache.newCache(mftConsulClient.getKvClient(), baseResponsePath, 9);
listenToResponses();
}
@@ -110,6 +110,6 @@ public class SyncRPCClient {
}
public SyncRPCResponse sendSyncRequest(SyncRPCRequest request) throws MFTConsulClientException, InterruptedException {
- return sendSyncRequest(request, 100000);
+ return sendSyncRequest(request, 9000);
}
}
diff --git a/controller/pom.xml b/controller/pom.xml
index 8239bcf..e75b481 100644
--- a/controller/pom.xml
+++ b/controller/pom.xml
@@ -33,6 +33,11 @@
<artifactId>mft-controller</artifactId>
<dependencies>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java-util</artifactId>
+ <version>${protobuf.java}</version>
+ </dependency>
<dependency>
<groupId>org.apache.airavata</groupId>
<artifactId>mft-resource-service-client</artifactId>
@@ -92,7 +97,7 @@
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
- <version>1.12.371</version>
+ <version>${aws.sdk.version}</version>
</dependency>
<dependency>
<groupId>com.hierynomus</groupId>
diff --git a/controller/src/main/java/org/apache/airavata/mft/controller/AppConfig.java b/controller/src/main/java/org/apache/airavata/mft/controller/AppConfig.java
index 73fbe0f..8f7c5bc 100644
--- a/controller/src/main/java/org/apache/airavata/mft/controller/AppConfig.java
+++ b/controller/src/main/java/org/apache/airavata/mft/controller/AppConfig.java
@@ -25,7 +25,7 @@ import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-@Configuration
+@Configuration("ControllerConfig")
public class AppConfig {
@org.springframework.beans.factory.annotation.Value("${consul.host}")
diff --git a/controller/src/main/java/org/apache/airavata/mft/controller/MFTController.java b/controller/src/main/java/org/apache/airavata/mft/controller/MFTController.java
index 2870571..eff5d04 100644
--- a/controller/src/main/java/org/apache/airavata/mft/controller/MFTController.java
+++ b/controller/src/main/java/org/apache/airavata/mft/controller/MFTController.java
@@ -44,10 +44,12 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
+import org.springframework.context.annotation.PropertySource;
@SpringBootApplication()
@ComponentScan(basePackages = {"org.apache.airavata.mft"})
@EntityScan("org.apache.airavata.mft.api.db.entities")
+@PropertySource(value = "classpath:controller-application.properties")
public class MFTController implements CommandLineRunner {
private static final Logger logger = LoggerFactory.getLogger(MFTController.class);
@@ -71,9 +73,9 @@ public class MFTController implements CommandLineRunner {
public void init() {
logger.info("Initializing the Controller");
- messageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.CONTROLLER_TRANSFER_MESSAGE_PATH);
- stateCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.CONTROLLER_STATE_MESSAGE_PATH);
- liveAgentCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.LIVE_AGENTS_PATH);
+ messageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.CONTROLLER_TRANSFER_MESSAGE_PATH, 9);
+ stateCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.CONTROLLER_STATE_MESSAGE_PATH, 9);
+ liveAgentCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.LIVE_AGENTS_PATH, 9);
pendingMonitor = Executors.newSingleThreadScheduledExecutor();
pendingMonitor.scheduleWithFixedDelay(this::processPending, 2000, 4000, TimeUnit.MILLISECONDS);
diff --git a/controller/src/main/java/org/apache/airavata/mft/controller/spawner/AgentOrchestrator.java b/controller/src/main/java/org/apache/airavata/mft/controller/spawner/AgentOrchestrator.java
index 454acbe..cb58002 100644
--- a/controller/src/main/java/org/apache/airavata/mft/controller/spawner/AgentOrchestrator.java
+++ b/controller/src/main/java/org/apache/airavata/mft/controller/spawner/AgentOrchestrator.java
@@ -146,6 +146,7 @@ public class AgentOrchestrator {
transferDispatcher.getMftConsulClient().getKvClient().deleteKey(transferInfo.consulKey);
logger.info("Terminating the spawner");
metadata.spawner.terminate();
+ launchedSpawnersMap.remove(key);
} finally {
metadata.transferInfos.remove(agentTransferId);
}
@@ -161,9 +162,21 @@ public class AgentOrchestrator {
logger.info("No transfer infos for spawner {}. Checking for termination", key);
try {
- List<String> pendingAgentTransfers = transferDispatcher.getMftConsulClient().listPendingAgentTransfers(metadata.spawner.getLaunchState().get());
+ String agentId = null;
+ try {
+ agentId = metadata.spawner.getLaunchState().get();
+
+ } catch (Exception e) {
+ logger.info("Killing spawner with key {} as the agent is not responding and inactive for {} seconds",
+ key, SPAWNER_MAX_IDLE_SECONDS);
+ metadata.spawner.terminate();
+ launchedSpawnersMap.remove(key);
+ return;
+ }
+
+ List<String> pendingAgentTransfers = transferDispatcher.getMftConsulClient().listPendingAgentTransfers(agentId);
if (pendingAgentTransfers.isEmpty()) {
- int totalFilesInProgress = transferDispatcher.getMftConsulClient().getEndpointHookCountForAgent(metadata.spawner.getLaunchState().get());
+ int totalFilesInProgress = transferDispatcher.getMftConsulClient().getEndpointHookCountForAgent(agentId);
if (totalFilesInProgress == 0) {
logger.info("Killing spawner with key {} as all files were transferred and the agent" +
" is inactive for {} seconds",
diff --git a/controller/src/main/java/org/apache/airavata/mft/controller/spawner/EC2AgentSpawner.java b/controller/src/main/java/org/apache/airavata/mft/controller/spawner/EC2AgentSpawner.java
index 86a43e1..0ac8094 100644
--- a/controller/src/main/java/org/apache/airavata/mft/controller/spawner/EC2AgentSpawner.java
+++ b/controller/src/main/java/org/apache/airavata/mft/controller/spawner/EC2AgentSpawner.java
@@ -225,7 +225,10 @@ public class EC2AgentSpawner extends AgentSpawner {
Path.of(mftKeyDir, keyName).toAbsolutePath().toString(), systemUser);
logger.info("Created SSH Connection. Installing dependencies...");
- int exeCode = sshProvider.runCommand("sudo apt install -y openjdk-11-jre-headless");
+ int exeCode = sshProvider.runCommand("sudo apt update -y");
+ if (exeCode != 0)
+ throw new IOException("Failed to update apt for VM");
+ exeCode = sshProvider.runCommand("sudo apt install -y openjdk-11-jre-headless");
if (exeCode != 0)
throw new IOException("Failed to install jdk on new VM");
exeCode = sshProvider.runCommand("sudo apt install -y unzip");
diff --git a/controller/src/main/resources/application.properties b/controller/src/main/resources/controller-application.properties
similarity index 100%
rename from controller/src/main/resources/application.properties
rename to controller/src/main/resources/controller-application.properties
diff --git a/pom.xml b/pom.xml
index 3a771fd..7f2b53b 100755
--- a/pom.xml
+++ b/pom.xml
@@ -137,10 +137,10 @@
<protobuf.maven.plugin>0.5.1</protobuf.maven.plugin>
<os.maven.plugin>1.5.0.Final</os.maven.plugin>
<javax.annotation>1.3.2</javax.annotation>
- <consul.client>1.3.8</consul.client>
+ <consul.client>1.5.3</consul.client>
<h2>1.4.191</h2>
<protobuf.java>3.10.0</protobuf.java>
- <grpc.spring.boot>3.5.1</grpc.spring.boot>
+ <grpc.spring.boot>4.7.1</grpc.spring.boot>
<spring.boot.data.jpa>2.2.1.RELEASE</spring.boot.data.jpa>
<org.slf4j.version>1.7.25</org.slf4j.version>
<log4j2.version>2.16.0</log4j2.version>
@@ -151,6 +151,7 @@
<jclouds.version>2.5.0</jclouds.version>
<commons.io.version>2.6</commons.io.version>
<apache.http.client.version>4.5.13</apache.http.client.version>
+ <aws.sdk.version>1.12.372</aws.sdk.version>
</properties>
</project>
diff --git a/services/resource-service/server/pom.xml b/services/resource-service/server/pom.xml
index 24f2ab6..4a36563 100644
--- a/services/resource-service/server/pom.xml
+++ b/services/resource-service/server/pom.xml
@@ -54,11 +54,6 @@
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
- <dependency>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-services</artifactId>
- <version>1.25.0</version>
- </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
diff --git a/services/secret-service/server/pom.xml b/services/secret-service/server/pom.xml
index a78354f..f6dd406 100644
--- a/services/secret-service/server/pom.xml
+++ b/services/secret-service/server/pom.xml
@@ -36,7 +36,7 @@
<dependency>
<groupId>org.apache.airavata</groupId>
<artifactId>mft-secret-service-stub</artifactId>
- <version>0.01-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
diff --git a/standalone-service/pom.xml b/standalone-service/pom.xml
index caf728c..f2a1de8 100644
--- a/standalone-service/pom.xml
+++ b/standalone-service/pom.xml
@@ -84,6 +84,16 @@
<artifactId>dozer</artifactId>
<version>${dozer}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>mft-agent-service</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>mft-controller</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
<build>
diff --git a/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/AppConfig.java b/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/AppConfig.java
index f3298b0..43ec3ae 100644
--- a/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/AppConfig.java
+++ b/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/AppConfig.java
@@ -18,14 +18,10 @@
package org.apache.airavata.mft.standalone.server;
import org.dozer.DozerBeanMapper;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration("SingleServiceAppConfig")
-@ComponentScan(basePackages = {"org.apache.airavata.mft.api.handler"})
-@EnableAutoConfiguration
public class AppConfig {
@Bean(name = "org.dozer.Mapper")
diff --git a/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/StandaloneServiceApplication.java b/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/StandaloneServiceApplication.java
index c211947..ec5976f 100644
--- a/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/StandaloneServiceApplication.java
+++ b/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/StandaloneServiceApplication.java
@@ -1,21 +1,22 @@
package org.apache.airavata.mft.standalone.server;
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-@SpringBootApplication()
-@ComponentScan(basePackages = {"org.apache.airavata.mft.*", "org.apache.airavata.mft.api.*", "org.apache.airavata.mft.api.handler"})
+@ComponentScan(basePackages = {"org.apache.airavata.mft.resource.*", "org.apache.airavata.mft.secret.*",
+ "org.apache.airavata.mft.api.*", "org.apache.airavata.mft.api.handler", "org.apache.airavata.mft.controller"})
@EntityScan(basePackages = {"org.apache.airavata.mft.resource.server.backend.sql.entity"})
@EnableJpaRepositories(basePackages = {"org.apache.airavata.mft.resource.server.backend.sql.repository",
"org.apache.airavata.mft.secret.server.backend.sql.repository"})
@PropertySource(value = "classpath:api-service-application.properties")
@PropertySource(value = "classpath:resource-service-application.properties")
@PropertySource(value = "classpath:secret-service-application.properties")
+@PropertySource(value = "classpath:agent-application.properties")
+@PropertySource(value = "classpath:controller-application.properties")
@Import(org.apache.airavata.mft.api.AppConfig.class)
public class StandaloneServiceApplication {
public static void main(String[] args) {
diff --git a/standalone-service/src/main/resources/application.properties b/standalone-service/src/main/resources/application.properties
index dcb9b6a..95a221f 100644
--- a/standalone-service/src/main/resources/application.properties
+++ b/standalone-service/src/main/resources/application.properties
@@ -15,4 +15,12 @@
# limitations under the License.
#
-spring.main.allow-bean-definition-overriding=true
\ No newline at end of file
+spring.main.allow-bean-definition-overriding=true
+spring.datasource.url=jdbc:h2:~/mft_db;DB_CLOSE_ON_EXIT=FALSE
+
+consul.host=localhost
+consul.port=8500
+resource.service.host=localhost
+resource.service.port=7003
+secret.service.host=localhost
+secret.service.port=7003
\ No newline at end of file
diff --git a/standalone-service/src/main/resources/distribution/conf/application.properties b/standalone-service/src/main/resources/distribution/conf/application.properties
index dcb9b6a..95a221f 100644
--- a/standalone-service/src/main/resources/distribution/conf/application.properties
+++ b/standalone-service/src/main/resources/distribution/conf/application.properties
@@ -15,4 +15,12 @@
# limitations under the License.
#
-spring.main.allow-bean-definition-overriding=true
\ No newline at end of file
+spring.main.allow-bean-definition-overriding=true
+spring.datasource.url=jdbc:h2:~/mft_db;DB_CLOSE_ON_EXIT=FALSE
+
+consul.host=localhost
+consul.port=8500
+resource.service.host=localhost
+resource.service.port=7003
+secret.service.host=localhost
+secret.service.port=7003
\ No newline at end of file
diff --git a/transport/gcp-transport/pom.xml b/transport/gcp-transport/pom.xml
index 004a9b1..d626a21 100644
--- a/transport/gcp-transport/pom.xml
+++ b/transport/gcp-transport/pom.xml
@@ -66,10 +66,5 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>com.amazonaws</groupId>
- <artifactId>aws-java-sdk-core</artifactId>
- <version>1.12.152</version>
- </dependency>
</dependencies>
</project>
diff --git a/transport/s3-transport/pom.xml b/transport/s3-transport/pom.xml
index b6a4993..33e6b2b 100644
--- a/transport/s3-transport/pom.xml
+++ b/transport/s3-transport/pom.xml
@@ -49,7 +49,7 @@
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
- <version>1.12.372</version>
+ <version>${aws.sdk.version}</version>
</dependency>
</dependencies>