You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by ka...@apache.org on 2023/04/14 12:19:27 UTC
[druid] 01/01: Adding missed s3 retry handling in storage connector. (#14086)
This is an automated email from the ASF dual-hosted git repository.
karan pushed a commit to branch 26.0.0
in repository https://gitbox.apache.org/repos/asf/druid.git
commit 1b0c17c43aa1021db27013bbbe9cc4b997d8f728
Author: Karan Kumar <ka...@gmail.com>
AuthorDate: Fri Apr 14 17:21:39 2023 +0530
Adding missed s3 retry handling in storage connector. (#14086)
(cherry picked from commit bdc547709489adedb00263a7ca04a5cfc15eca90)
---
.../druid/storage/s3/output/RetryableS3OutputStream.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/output/RetryableS3OutputStream.java b/extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/output/RetryableS3OutputStream.java
index 4e53016b81..ba3d461bee 100644
--- a/extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/output/RetryableS3OutputStream.java
+++ b/extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/output/RetryableS3OutputStream.java
@@ -126,9 +126,15 @@ public class RetryableS3OutputStream extends OutputStream
this.s3 = s3;
this.s3Key = s3Key;
- final InitiateMultipartUploadResult result = s3.initiateMultipartUpload(
- new InitiateMultipartUploadRequest(config.getBucket(), s3Key)
- );
+ final InitiateMultipartUploadResult result;
+ try {
+ result = S3Utils.retryS3Operation(() -> s3.initiateMultipartUpload(
+ new InitiateMultipartUploadRequest(config.getBucket(), s3Key)
+ ), config.getMaxRetry());
+ }
+ catch (Exception e) {
+ throw new IOException("Unable to start multipart upload", e);
+ }
this.uploadId = result.getUploadId();
this.chunkStorePath = new File(config.getTempDir(), uploadId + UUID.randomUUID());
FileUtils.mkdirp(this.chunkStorePath);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org