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 2022/10/17 03:02:33 UTC
[airavata-mft] branch master updated: Supporting batch transfer submissions
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 e304fd1 Supporting batch transfer submissions
e304fd1 is described below
commit e304fd1f3be3637adbdd5cedd4de6cfa24fc2ef8
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Sun Oct 16 23:02:25 2022 -0400
Supporting batch transfer submissions
---
.../airavata/mft/api/handler/MFTApiHandler.java | 32 +++++++++++++++++++++-
api/stub/src/main/proto/MFTTransferApi.proto | 10 +++++++
2 files changed, 41 insertions(+), 1 deletion(-)
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 08eabab..36aea48 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
@@ -87,7 +87,37 @@ public class MFTApiHandler extends MFTTransferServiceGrpc.MFTTransferServiceImpl
} catch (Exception e) {
logger.error("Error in submitting transfer request", e);
responseObserver.onError(Status.INTERNAL
- .withDescription("Failed to submit http download request. " + e.getMessage())
+ .withDescription("Failed to submit transfer request. " + e.getMessage())
+ .asException());
+ }
+ }
+
+ @Override
+ public void submitBatchTransfer(BatchTransferApiRequest request, StreamObserver<BatchTransferApiResponse> responseObserver) {
+ try {
+ List<TransferApiRequest> transferRequests = request.getTransferRequestsList();
+
+ BatchTransferApiResponse.Builder responseBuilder = BatchTransferApiResponse.newBuilder();
+ for (TransferApiRequest apiRequest: transferRequests) {
+ String transferId = mftConsulClient.submitTransfer(apiRequest);
+
+ logger.info("Submitted the transfer request {}", transferId);
+
+ mftConsulClient.saveTransferState(transferId, new TransferState()
+ .setUpdateTimeMils(System.currentTimeMillis())
+ .setState("RECEIVED").setPercentage(0)
+ .setPublisher("api")
+ .setDescription("Received transfer job " + transferId));
+
+ responseBuilder.addTransferIds(transferId);
+ }
+
+ responseObserver.onNext(responseBuilder.build());
+ responseObserver.onCompleted();
+ } catch (Exception e) {
+ logger.error("Error in submitting batch transfer request", e);
+ responseObserver.onError(Status.INTERNAL
+ .withDescription("Failed to submit batch transfer request. " + e.getMessage())
.asException());
}
}
diff --git a/api/stub/src/main/proto/MFTTransferApi.proto b/api/stub/src/main/proto/MFTTransferApi.proto
index f62f3a2..13fcf41 100644
--- a/api/stub/src/main/proto/MFTTransferApi.proto
+++ b/api/stub/src/main/proto/MFTTransferApi.proto
@@ -31,6 +31,14 @@ message TransferApiResponse {
string transferId = 1;
}
+message BatchTransferApiRequest {
+ repeated TransferApiRequest transferRequests = 1;
+}
+
+message BatchTransferApiResponse {
+ repeated string transferIds = 1;
+}
+
message HttpUploadApiRequest {
string destinationStorageId = 1;
string resourcePath = 2;
@@ -115,6 +123,8 @@ service MFTTransferService {
rpc submitTransfer(TransferApiRequest) returns (TransferApiResponse);
+ rpc submitBatchTransfer(BatchTransferApiRequest) returns (BatchTransferApiResponse);
+
rpc submitHttpUpload(HttpUploadApiRequest) returns (HttpUploadApiResponse);
rpc submitHttpDownload(HttpDownloadApiRequest) returns (HttpDownloadApiResponse);