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