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

Tomas Pavelka updated AMQ-6784:
-------------------------------
    Attachment: HubAndSpokeDuplicateMessages.java

The unit test reproduces the problem in ActiveMQ 5.13.2 and also demonstrates 
the workaround.

> Duplicate messages received in hub and spoke topology
> -----------------------------------------------------
>
>                 Key: AMQ-6784
>                 URL: https://issues.apache.org/jira/browse/AMQ-6784
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.13.2
>            Reporter: Tomas Pavelka
>            Priority: Minor
>         Attachments: HubAndSpokeDuplicateMessages.java
>
>
> If there are multiple consumers of a single topic in a hub and spoke topology 
> where each of the spokes has an embedded broker, then each of the consumers 
> receives one message sent to the topic multiple times.
> The topology looks like this:
> Spoke (broker) -> Hub (broker) <- Spoke (broker)
>                                     ^
>                             Spoke (broker)         
> If one spoke sends a message to a topic and at least two other spokes have 
> consumers then they will receive the message multiple times.
> The likely cause is that 
> org.apache.activemq.network.ConduitBridge#addToAlreadyInterestedConsumers
> checks if the incoming ConsumerInfo represents a network subscription
> in the topology used it does because the subscription info is passed through 
> two brokers
> There exists a workaround: if any policy is applied to the destination then 
> duplication does not happen. This is because PolicyEntry#enableAudit is true 
> by default and is applied to  
> org.apache.activemq.broker.region.BaseDestination#enableAudit which is false 
> by default.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to