[
https://issues.apache.org/jira/browse/CAMEL-25484?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-25484.
---------------------------------
Resolution: Fixed
> camel-core - a dev mode reload that cuts off an in-flight exchange logs a
> full ERROR, though the work is retried
> ----------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-25484
> URL: https://issues.apache.org/jira/browse/CAMEL-25484
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 4.23.0
>
>
> Follow-up of CAMEL-25365, which made the message say why the exchange cannot
> continue.
> In dev mode (camel run --dev), saving a route file while an exchange is in
> flight reloads the routes. An exchange cut off by the reload is logged by the
> error handler as a full failure:
> {noformat}
> ERROR ... DefaultErrorHandler : Failed delivery for (MessageId: ...) at
> picked-lines[log2] aggregator.camel.yaml:23. Exhausted after delivery
> attempt: 1 caused by: ...
> Message History ...
> Stacktrace ...
> java.util.concurrent.RejectedExecutionException: The exchange cannot
> continue: its route is being stopped or reloaded
> WARN ... GenericFileOnCompletion : Rollback file strategy: ... for file:
> GenericFile[order-1001.json]
> {noformat}
> Nothing is lost: the file consumer rolls the file back and picks it up again
> after the reload, and the result is right. But every save while messages flow
> prints ERROR blocks with stack traces, which reads as a bug in the route to
> the person (or the agent) who just saved it.
> Seen in the local-model benchmark: route-aggregator (picked-lines sends to
> direct:shipment, which the reload stopped first; the sender waited ~8 s, then
> was cut off) logged this after the last save in 5 of 5 runs, and the step was
> scored as failed although its final state was right. It hit 7 apps in one
> series and 5 in the next.
> Proposal: an exchange cut off by a reload (RedeliveryErrorHandler sees the
> route being stopped or reloaded) is logged as one WARN line, without
> "Exhausted after delivery attempt", message history and stack trace, saying
> the reload cut it off and whether it will be redelivered (for example, the
> file consumer rolled the file back). A forced stop of the CamelContext can
> keep the current logging.
> _Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)