[
https://issues.apache.org/jira/browse/CAMEL-25733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-25733:
--------------------------------
Fix Version/s: 4.24.0
> camel-mail - remove the idempotent key of the mail whose processExchange
> throws, not only of the rest of the batch
> ------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-25733
> URL: https://issues.apache.org/jira/browse/CAMEL-25733
> Project: Camel
> Issue Type: Improvement
> Components: camel-mail
> Reporter: shashank
> Assignee: shashank
> Priority: Minor
> Fix For: 4.24.0
>
>
> Follow-up of CAMEL-25710 (raised in the review of
> https://github.com/apache/camel/pull/27990).
> With an {{idempotentRepository}}, CAMEL-25710 gives back the mails of a batch
> that are not routed, also when routing an exchange throws. The exchange that
> {{processExchange}} itself throws on is already taken from the queue, so its
> key stays in the repository and that mail is skipped as a duplicate until the
> key is removed. Only an unchecked exception escaping {{processExchange}}
> reaches this path (routing errors normally land on the exchange).
> Proposed change: in {{processBatch}}, catch the exception of
> {{processExchange}}, remove the key of that mail (when the exchange did not
> complete), and rethrow; with a test in
> {{MailIdempotentRepositoryPollErrorTest}}.
> _Filed with Claude Code on behalf of allthingssecurity._
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)