Claus Ibsen created CAMEL-24994:
-----------------------------------

             Summary: camel-core - Enrich and Poll Enrich EIPs: the resource on 
completions are lost when the enrich fails
                 Key: CAMEL-24994
                 URL: https://issues.apache.org/jira/browse/CAMEL-24994
             Project: Camel
          Issue Type: Bug
          Components: camel-core
            Reporter: Claus Ibsen


A deep review of the Content Enricher EIPs (enrich / Enricher and pollEnrich / 
PollEnricher) found the bug below in both. It was reproduced against 
4.23.0-SNAPSHOT.

*The on completions of the resource exchange are lost when the enrich fails.* 
The on completions (synchronizations) registered on the resource exchange were 
only handed over to the original exchange when the enrichment succeeded. When 
the resource failed, when the aggregation strategy threw an exception, or when 
it returned null, they were never run.

* pollEnrich from a file: the polled file's on completion (commit/rollback, and 
removal from the in-progress repository) did not run when the aggregation 
failed. So the file stayed marked as in progress, and it was not polled again 
until the application was restarted.
* enrich: the on completion that a producer registers to release a resource did 
not run when the enrich failed. The http producer, for example, closes the 
response stream this way.

The on completions are now handed over in all cases, so they run with the 
original exchange (onFailure when it failed).

_Claude Code on behalf of Claus Ibsen_




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to