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

Claus Ibsen resolved CAMEL-24449.
---------------------------------
    Resolution: Fixed

> camel-core - saga coordinator is selected from the unprefixed 
> Long-Running-Action message header
> ------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24449
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24449
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>            Reporter: Andrea Cosentino
>            Assignee: Andrea Cosentino
>            Priority: Major
>             Fix For: 4.23.0
>
>
> {{SagaProcessor.getCurrentSagaCoordinator()}} prefers the internal 
> exchange-extension state, but falls back to the {{Long-Running-Action}} 
> message header ({{Exchange.SAGA_LONG_RUNNING_ACTION}}) "for LRA 
> interoperability". The fallback is honoured even under the default 
> {{InMemorySagaService}}, where no LRA interoperability exists.
> The constant is outside the {{Camel}} namespace, so the default 
> {{HeaderFilterStrategy}} of every consumer passes it through untouched, and 
> the saga id is written back onto responses by design - which is how a caller 
> comes to know a live saga id in the first place.
> The effect is that a message can select which saga coordinator its exchange 
> joins. In AUTO completion mode that reaches {{complete()}}/{{compensate()}} 
> of saga state the sender's own exchange did not create.
> Proposal: only consult the header when an LRA-capable saga service is in use, 
> and consider a {{Camel}}-prefixed spelling with the current name kept for LRA 
> interoperability behind an explicit option. Needs an upgrade-guide entry.



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

Reply via email to