[
https://issues.apache.org/jira/browse/ARTEMIS-3093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Behm updated ARTEMIS-3093:
-------------------------------
Description:
ARTEMIS-2458
This issue still persists.
Consuming from a queue with two threads with distinct sessions while rolling
back directly in each thread when receiving a message breaks the whole order of
the queue. Even with delays of 500ms.
The queue/addresse is configured as ANYCAST queue.
(In 2.10 this issue persists as well.)
Basic Test setup is like this:
You fill an anycast queue with 1000/10000 ordered messages.
You disconnect your producer and start the two or more consumers that try to
fetch one message from that exact same queue.
Each time any of those two(or more) consumers receives a message, they rollback
the session instantly and sleep 0 to 500 ms.
After rolling back every time you receive a message on any of your consumer
threads, you expect to always get the message with the content "0".
After like ten iterations of this ping-pong rollback between your two consumer
threads, you start to get completely random messages, not even within the range
of 0 through 10, but comepletely arbitrary ones from within the queue.
You disconnect your consumers and try dumping the queue. You get a completely
unordered message queue.
was:
ARTEMIS-2458
This issue still persists.
Consuming from a queue with two threads with distinct sessions while rolling
back directly in each thread when receiving a message breaks the whole order of
the queue. Even with delays of 500ms.
The queue/addresse is configured as ANYCAST queue.
In 2.10 this issue persists as well.
> Message Order broken with Core Protocol when rolling back transactions
> ----------------------------------------------------------------------
>
> Key: ARTEMIS-3093
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3093
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Reporter: John Behm
> Priority: Critical
>
> ARTEMIS-2458
> This issue still persists.
>
> Consuming from a queue with two threads with distinct sessions while rolling
> back directly in each thread when receiving a message breaks the whole order
> of the queue. Even with delays of 500ms.
> The queue/addresse is configured as ANYCAST queue.
>
> (In 2.10 this issue persists as well.)
> Basic Test setup is like this:
> You fill an anycast queue with 1000/10000 ordered messages.
> You disconnect your producer and start the two or more consumers that try to
> fetch one message from that exact same queue.
> Each time any of those two(or more) consumers receives a message, they
> rollback the session instantly and sleep 0 to 500 ms.
> After rolling back every time you receive a message on any of your consumer
> threads, you expect to always get the message with the content "0".
> After like ten iterations of this ping-pong rollback between your two
> consumer threads, you start to get completely random messages, not even
> within the range of 0 through 10, but comepletely arbitrary ones from within
> the queue.
> You disconnect your consumers and try dumping the queue. You get a completely
> unordered message queue.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)