[
https://issues.apache.org/jira/browse/AMQ-6221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christopher L. Shannon reopened AMQ-6221:
-----------------------------------------
> ActiveMQTextMessage should synchronize on state changes
> -------------------------------------------------------
>
> Key: AMQ-6221
> URL: https://issues.apache.org/jira/browse/AMQ-6221
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, JMS client
> Affects Versions: 5.13.2
> Reporter: Christopher L. Shannon
> Assignee: Christopher L. Shannon
> Fix For: 5.14.0, 5.13.3
>
>
> In AMQ-5857, the text field was changed to be cleared after calling
> beforeMarshall on a text message. This is causing general concurrency issues
> when multiple threads access the message. The most notable issue is when
> using the VM transport and concurrent store and dispatch is turned on for
> KahaDB as seen in AMQ-6218. In that ticket I re-arranged the order a bit on
> copy to help with the race condition but it is still theoretically possible.
> We need to add explicit synchronization when reading/writing the
> marshalled/unmarshalled state fields to prevent the race condition in
> ActiveMQTextMessage.
> Right now ActiveMQTextMessage is the main issue since it has been changed to
> clear out text on marshalling by default. Map and Object messages don't
> currently clear out their data by default like text message does so they
> aren't currently affected but would need synchronization added in a future
> commit if the same strategy was followed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)