ActiveMQ
  1. ActiveMQ
  2. AMQ-3274

duplicate messages on Temporary Topics in network of brokers

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 5.4.2
    • Fix Version/s: 5.6.0
    • Component/s: Broker
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      Creating a network of brokers, duplicate messages are being seen on Temporary Topics.

      The network configuration used is as follows:

      <networkConnectors>
      <networkConnector name="nw1_queues_from_nw2" uri="static:(tcp://127.0.0.1:60002)"
      duplex="true" conduitSubscriptions="false" dynamicOnly="true"
      networkTTL="7" suppressDuplicateQueueSubscriptions="true"
      decreaseNetworkConsumerPriority="true"

      bridgeTempDestinations="true"
      >
      <excludedDestinations>
      <topic physicalName=">" />
      </excludedDestinations>
      </networkConnector>

      <networkConnector name="nw1_topics_from_nw2" uri="static:(tcp://127.0.0.1:60002)"
      duplex="true" conduitSubscriptions="true" dynamicOnly="true"
      networkTTL="7" suppressDuplicateQueueSubscriptions="true"
      decreaseNetworkConsumerPriority="true"

      bridgeTempDestinations="true"
      >
      <excludedDestinations>
      <queue physicalName=">" />
      </excludedDestinations>
      </networkConnector>
      </networkConnectors>

      Note there are 2 duplex connections between the brokers. Changing to non-duplex connections, the problem goes away with 2 brokers in the network, but reappears when a 3rd broker is added.

      The problem only affects temporary Topics; normal Topics work fine.

      A patch will be attached. Also, a test case will be attached when it is available.

      1. tempTopicDups.patch
        3 kB
        Arthur Naseef
      2. AMQ3274Test.java
        20 kB
        Arthur Naseef

        Activity

        Hide
        Rob Davies added a comment -

        Fixed by SVN revision 1326502

        Show
        Rob Davies added a comment - Fixed by SVN revision 1326502
        Hide
        Arthur Naseef added a comment -

        This is a relatively small change to fix the problem and I have provided a JUnit test case. Is there anything more I can do to help resolve it?

        Note that I just checked the sources on the head (snapshot taken 01/12/2012), and the problem remains there.

        Show
        Arthur Naseef added a comment - This is a relatively small change to fix the problem and I have provided a JUnit test case. Is there anything more I can do to help resolve it? Note that I just checked the sources on the head (snapshot taken 01/12/2012), and the problem remains there.
        Hide
        Arthur Naseef added a comment -

        JUnit test which demonstrates the duplicates. Uses an "echo" service and tests Topics, Queues, Temporary Topics, and Temporary Queues.

        Show
        Arthur Naseef added a comment - JUnit test which demonstrates the duplicates. Uses an "echo" service and tests Topics, Queues, Temporary Topics, and Temporary Queues.
        Hide
        Arthur Naseef added a comment -

        Patch eliminating duplicates on temporary topics. As the patch shows, subscriptions to temporary destinations were being matched against the subscriptions in permanent regions, not the temp regions.

        Show
        Arthur Naseef added a comment - Patch eliminating duplicates on temporary topics. As the patch shows, subscriptions to temporary destinations were being matched against the subscriptions in permanent regions, not the temp regions.

          People

          • Assignee:
            Rob Davies
            Reporter:
            Arthur Naseef
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development