camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Lindstorff (JIRA)" <>
Subject [jira] [Updated] (CAMEL-8539) S3 marker does not work
Date Wed, 28 Oct 2015 10:45:27 GMT


James Lindstorff updated CAMEL-8539:
    Attachment: 8539.patch

Attached is a patch that uses isTruncated to detect the end of the object listing.

Note that using the consumer with deleteAfterRead=false only read the files once so the consumer
will never detect new files in the bucket.

> S3 marker does not work
> -----------------------
>                 Key: CAMEL-8539
>                 URL:
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-aws
>    Affects Versions: 2.15.0
>            Reporter: Alexey Hanin
>         Attachments: 8539.patch
> S3Consumer doesn't set marker correctly, when {{deleteAfterRead}} is set to {{false}}.
Therefore, on every subsequent poll, it starts from the beginning of the list.
> The reason for that is the following code in S3Consumer:
> {code:lang=java|}
>             if (!getConfiguration().isDeleteAfterRead()) {
>                 // where marker is track
>                 marker = listObjects.getMarker();
>             }
> {code}
> Accordingly to S3 client documentation, {{getMarker()}} return a marker previously set
in request. Instead, {{getNextMarker()}} shall be used. Although, simply changing it to use
{{getNextMarker()}} introduces an endless loop iterating over the same set of keys under the
prefix, because when reached the end of the key set, {{getNextMarker()}} returns {{null}},
and on the next poll, the head of the list will be returned, and so on.

This message was sent by Atlassian JIRA

View raw message