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

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


The following commit(s) were added to refs/heads/main by this push:
     new 006ed72ab05 CAMEL-21161: camel-aws2-s3 is uploading always files as 
multipart when multiPartUpload is set true. Thanks to Guillem Folch for the 
patch. (#15416)
006ed72ab05 is described below

commit 006ed72ab05f0c6e7a89fc8cb910ce44edc1f4af
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Sep 4 08:49:42 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. (#15416)
---
 .../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());
         }

Reply via email to