David Harp created AMQ-3846:
-------------------------------
Summary: The JMX message move, copy and remove operation do not
take messages in FIFO order
Key: AMQ-3846
URL: https://issues.apache.org/jira/browse/AMQ-3846
Project: ActiveMQ
Issue Type: Bug
Components: JMX
Affects Versions: 5.6.0, 5.5.1
Reporter: David Harp
When a page is pulled in, it is placed in a LinkedHashMap which preserves the
queue order, but the below code then pulls the values from the LinkedHashMap
and puts them in a Set. This causes the FIFO order of the queue to be lost.
If the number of max messages to move is smaller the the page size, then the
outcome looks like random messages from the queue being moved (copied or
removed).
...
Set<MessageReference> set = new HashSet<MessageReference>();
ConnectionContext context = createConnectionContext();
do {
doPageIn(true);
pagedInMessagesLock.readLock().lock();
try{
set.addAll(pagedInMessages.values());
}finally {
pagedInMessagesLock.readLock().unlock();
}
...
Can this be changed to preserve the queue order?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira