Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-20728

camel-aws2s3 Stream Producer should support multipart loading

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 4.5.0
    • 4.7.0
    • camel-aws
    • None
    • Unknown

    Description

      AWS2S3 Producer comes in two flavours: AWS2S3Producer and AWS2S3StreamUploadProducer.

      • AWS2S3Producer  supports S3 multipart upload: exchange data will be chunked into parts, parts will be sent separately  to S3 and will be aggregated into one file.
      • AWS2S3StreamUploadProducer supports message streaming: incoming messages are aggregated into a buffer that will be sent as one file to S3, as soon as some condition is true (number of messages / size /timeout).

      Unfortunately, AWS2S3StreamUploadProducer, although it is able to break a huge flow of messages into parts (which is great for some use cases), is not able to manage S3 multipart upload. So if you need to aggregate lots of messages into one big file on S3 side, that means the producer will have to send that message batch in one request (actually, a single part multipart request if you look at implementation). If the volume is huge, that will blow up jvm heap.

      So we propose to add multi-part support to  AWS2S3StreamUploadProducer.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bbonnet Benjamin BONNET
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: