You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2024/09/04 05:33:54 UTC

(camel) 01/01: CAMEL-21161: camel-aws2-s3 is uploading always files as multipart when multiPartUpload is set true. Thanks to Guillem Folch for the patch.

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch s3
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4e36c47d2010f28f8709a96bf87169759c5deac1
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Sep 4 07:33:18 2024 +0200

    CAMEL-21161: camel-aws2-s3 is uploading always files as multipart when multiPartUpload is set true. Thanks to Guillem Folch for the patch.
---
 .../main/java/org/apache/camel/component/aws2/s3/AWS2S3Producer.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Producer.java b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Producer.java
index a22c7c428d8..8b687acb2bc 100644
--- a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Producer.java
+++ b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Producer.java
@@ -149,7 +149,7 @@ public class AWS2S3Producer extends DefaultProducer {
         }
 
         long partSize = getConfiguration().getPartSize();
-        if (contentLength == 0 && contentLength < partSize) {
+        if (contentLength == 0 || contentLength < partSize) {
             // optimize to do a single op if content length is known and < part size
             LOG.debug("File size < partSize. Uploading file in single operation: {}", filePayload);
             processSingleOp(exchange);
@@ -161,6 +161,7 @@ public class AWS2S3Producer extends DefaultProducer {
         objectMetadata.put("Content-Length", contentLength.toString());
 
         final String keyName = AWS2S3Utils.determineKey(exchange, getConfiguration());
+        final String bucketName = AWS2S3Utils.determineBucketName(exchange, getConfiguration());
         CreateMultipartUploadRequest.Builder createMultipartUploadRequest
                 = CreateMultipartUploadRequest.builder().bucket(getConfiguration().getBucketName()).key(keyName);
 
@@ -254,6 +255,7 @@ public class AWS2S3Producer extends DefaultProducer {
         Message message = getMessageForResponse(exchange);
         message.setHeader(AWS2S3Constants.E_TAG, uploadResult.eTag());
         message.setHeader(AWS2S3Constants.PRODUCED_KEY, keyName);
+        message.setHeader(AWS2S3Constants.PRODUCED_BUCKET_NAME, bucketName);
         if (uploadResult.versionId() != null) {
             message.setHeader(AWS2S3Constants.VERSION_ID, uploadResult.versionId());
         }