AMQ 7 Duplicate Messages Observed Upon Redistribution with Multicast Addresses
Issue
- A message can be read twice by a consumer on clustered ActiveMQ brokers.
Steps to follow to reproduce the case:
1. Have clustered brokers B1 and B2 with the following address configuration:
<address name="pubsub-test">
<multicast>
<queue name="xyz.pubsub-test" />
<queue name="abc.pubsub-test" />
<queue name="def.pubsub-test" />
</multicast>
</address>
- Have 3 clients:
C1: Publishes and reads on xyz.pubsub-test from B1
C2: Reads on abc.pubsub-test of B2
C3: Reads on def.pubsub-test of B2
- What we are observing is that if a consumer of one of those subscriptions goes offline, messages will begin to build up in the queue (as expected). When the consumer comes online, whatever broker it attaches to first will have messages redistributed from the other broker in the cluster. When this redistribution happens the other multicast queues receive some of those redistributed messages (although not all of them), even though they had already received them previously.
Environment
- Red Hat AMQ
- 7.11.1 and earlier
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.