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

Claus Ibsen reassigned CAMEL-24996:
-----------------------------------

    Assignee: Claus Ibsen

> camel-core - Changing a header value through the entry set of a copied 
> message changes the original message
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24996
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24996
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 4.21.0, 4.22.0
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Major
>
> Changing a header value through the entry set of a copied message changes the 
> header of the original message, and of the other copies.
> Since CAMEL-23681 (Camel 4.21), a copied message shares its headers with the 
> original through CopyOnWriteHeadersMap until one of them changes a header. 
> The entry set of a shared map returned the entries of the shared map itself 
> (from its iterator and from toArray). So entry.setValue(...) changed the 
> shared map without copying it first.
> For example, in a split each sub-message starts out sharing the headers of 
> the parent message. A sub-message that changes a header value through 
> getHeaders().entrySet() changed it for the parent message and for the other 
> sub-messages. After the split, the parent message had the value set by the 
> last sub-message.
> The entries of a shared map are now wrapped, so setValue copies the map 
> first, as the other write operations already do.
> Affects 4.21.0 and 4.22.0.
> _Claude Code on behalf of Claus Ibsen_



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

Reply via email to