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

Christopher L. Shannon closed AMQ-8299.
---------------------------------------
    Resolution: Invalid

It's a Map, the whole point is there is no ordering..it's key/value pairs and 
not a list or something like that so there is no bug here or corruption. 
There's no guarantee of order with a map so there's no reason to change 
anything.

Look at: [https://docs.oracle.com/javaee/7/api/javax/jms/MapMessage.html]
{quote}A MapMessage object is used to send a set of name-value pairs. The names 
are String objects, and the values are primitive data types in the Java 
programming language. The names must have a value that is not null, and not an 
empty string. The entries can be accessed sequentially or randomly by name. 
*The order of the entries is undefined.* MapMessage inherits from the Message 
interface and adds a message body that contains a Map.
{quote}

> ActiveMQMapMessage data corruption- should use LinkedHashMap to preserve 
> original order
> ---------------------------------------------------------------------------------------
>
>                 Key: AMQ-8299
>                 URL: https://issues.apache.org/jira/browse/AMQ-8299
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.16.2
>            Reporter: Piotr Klimczak
>            Priority: Major
>
> The core principle of messaging system is that payload sent by producer is 
> received exactly same (unmodified) on consumer side.
> However due to ActiveMQMapMessage using HashMap for map data, the order of 
> entries is not guaranteed effectively causing data corruption.
>  This is especially true when we are sending LinkedHashMap on producer side. 
> Then the consumer side will receive out of order data.
> This is not newly introduced bug, looks like it is there for many years- 
> surprisingly.
> From what I have seen in client implementation, it is perfectly ready to work 
> with LinkedHashMap. So it might be just one line change to fix + test 
> coverage.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to