Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-2526

Clustering does not move messages to another node, when there is a divert

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • AMQ 7.4.0.CR1
    • AMQ 7.3.0.GA
    • broker-core
    • None
    • Release Notes
    • +
    • Hide
      Previously, in a broker cluster configured with diverts, messages were not successfully redistributed from an anycast queue on one broker to an anycast queue with active consumers at the same address on another broker. Instead, messages were dropped. This issue is now resolved.
      Show
      Previously, in a broker cluster configured with diverts, messages were not successfully redistributed from an anycast queue on one broker to an anycast queue with active consumers at the same address on another broker. Instead, messages were dropped. This issue is now resolved.
    • Documented as Resolved Issue
    • Verified in a release
    • Hide
      • Unzip attached reproducer.zip
      • Change script bash variables accordingly
      • run script "source ./reproducer.sh"

      To start host1: execute
      $ <reproducer directory>/host1/bin/artemis run

      To start host2: execute
      $ <reproducer directory>/host2/bin/artemis run

      To start publisher: execute
      $ cd <reproducer directory>/publisher
      $ mvn exec:java

      To start subscriber: execute
      $ cd <reproducer directory>/subscriber
      $ mvn exec:java

      Show
      Unzip attached reproducer.zip Change script bash variables accordingly run script "source ./reproducer.sh" To start host1: execute $ <reproducer directory>/host1/bin/artemis run To start host2: execute $ <reproducer directory>/host2/bin/artemis run To start publisher: execute $ cd <reproducer directory>/publisher $ mvn exec:java To start subscriber: execute $ cd <reproducer directory>/subscriber $ mvn exec:java

      Messages are dropped during redistribution from one broker instance to another, not moved to anycast queues with consumers. Consumers report no messages received.

      Test Environment Description:
      AMQ Brokers: 2 Brokers in a cluster, with same addresses.xml, address-settings.xml and diverts.xml files shared between both. The brokers are identical exception for hostnames.

      AMQ JMS Clients: Both Publisher and Consumers are simple Qpid-JMS clients. One publishes to a Topic (multicast) FXShip.FX.ESE1 on AMQ01. Note - some diverts do NOT have a filter, so all published messages should be distributed to those queues.
      AMQ01 shows messages pending on the queues as shown in addresses.xml file. All queues are anycast.

      When you start the subscriber and connect to AMQ02 queues as shown in the addresses.xml file but received no messages. Subscribers are coded to print to sysout all messages received. AMQ01 shows messages removed, no pending messages. Messages appear to be dropped during the redistribution from AMQ01 to AMQ02

      The same setup was tested without diverts, and it worked

      The customer reported the problem with JGroups, but the problem was reproduced with static cluster connections too

            rh-ee-ataylor Andy Taylor
            rhn-support-anarvaez Alfredo Narvaez
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: