[ 
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)

Reply via email to