[ 
https://issues.apache.org/jira/browse/CAMEL-25925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on CAMEL-25925 started by Claus Ibsen.
-------------------------------------------
> camel-aws2-sqs - sendBatchMessage with more than 10 entries keeps only the 
> last request's response as the body
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-25925
>                 URL: https://issues.apache.org/jira/browse/CAMEL-25925
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-aws2-sqs
>    Affects Versions: 4.22.0, 4.23.0
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 4.24.0
>
>
> CAMEL-24196 made {{sendBatchMessage}} send more than 10 entries, in requests 
> of 10 (the SQS limit). Afterwards the body is the 
> {{SendMessageBatchResponse}} of the last request only (camel-aws2-sqs, 
> {{Sqs2Producer.sendBatchEntries}} on main):
> {code:java}
> for (int i = 0; i < entries.size(); i += MAX_BATCH_ENTRIES) {
>     ...
>     lastResult = amazonSQS.sendMessageBatch(request);
>     totalFailed += ObjectHelper.isNotEmpty(lastResult.failed()) ? 
> lastResult.failed().size() : 0;
>     totalSuccessful += ObjectHelper.isNotEmpty(lastResult.successful()) ? 
> lastResult.successful().size() : 0;
> }
> Message message = getMessageForResponse(exchange);
> message.setBody(lastResult);
> {code}
> So with 25 messages the body has the results of the last 5. The 
> {{CamelAwsSqsFailedMessageCount}} and {{CamelAwsSqsSuccessfulMessageCount}} 
> headers count all 25, but which of the first 20 failed, with their ids and 
> error codes, is lost. A route that retries or logs the failed entries cannot 
> see them.
> *Proposed change*: the body has the results of all the requests: one 
> {{SendMessageBatchResponse}} with all the {{successful}} and {{failed}} 
> entries, and the component documentation says so.
> Related, in the same operation: an {{Iterable}} body with an element that is 
> not a String fails with a {{ClassCastException}} 
> ({{entry.messageBody((String) o)}}), where converting the element to a String 
> would send it.
> In 4.22.0 and 4.23.0.
> _Claude Code on behalf of davsclaus_



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to