Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-664

Intermittent duplicates during client failover in a network of brokers

XMLWordPrintable

    • Hide

      1. In attached test testcase_message_loop_v1/tc, update the UP address in ./src/main/resources/hosts.properties.
      2. In the main tc directory a start script exists to start the 4 brokers.
      3. testcase_message_loop_v1/tc-consumer/amq-consumer-camel/camel-test-consumer has a camel route with a group of consumers. Start this consumer:

      mvn camel:run

      4. Start the producer in testcase_message_loop_v1/tc:

      mvn -Pproducer - it will run 10 threads and push large number of messages to simulate a continual flow. In my test my consumer queue size was keeping up with the messages being brought over to it. It never got above 2 or 3 in size and was always fluctuating.

      5. Stop broker 1 (ps -ef |grep MyMain1). check the DLQ on broker 2.
      6. Start broker 1 - check the DLQ's
      7. Restart the consumer - check the DLQ's

      Repeat 5-7 until you see messages on DLQ.

      Show
      1. In attached test testcase_message_loop_v1/tc, update the UP address in ./src/main/resources/hosts.properties. 2. In the main tc directory a start script exists to start the 4 brokers. 3. testcase_message_loop_v1/tc-consumer/amq-consumer-camel/camel-test-consumer has a camel route with a group of consumers. Start this consumer: mvn camel:run 4. Start the producer in testcase_message_loop_v1/tc: mvn -Pproducer - it will run 10 threads and push large number of messages to simulate a continual flow. In my test my consumer queue size was keeping up with the messages being brought over to it. It never got above 2 or 3 in size and was always fluctuating. 5. Stop broker 1 (ps -ef |grep MyMain1). check the DLQ on broker 2. 6. Start broker 1 - check the DLQ's 7. Restart the consumer - check the DLQ's Repeat 5-7 until you see messages on DLQ.

      We are seeing duplicates show up on a DLQ during failover of a consumer to another broker, i.e in a NOB of 4, we continually push messages to broker 4. A consumer connects to broker 1 with a failover string to broker 2.Typically the issue arises when broker 1 is brought back on-line and/or the consumer restarted to move it back to broker 1. Although today, I caught the problem on the first failover of the consumer. 165 Messages hit my DLQ on broker 2.It seems to be a timing problem. We aren't seeing message loss but we'd like to understand why these messages are duplicated. It certain cases the customer has seen millions of duplicates. I have not been able to reproduce that - 165 is as high as I have seen.

              gtully@redhat.com Gary Tully
              rhn-support-sjavurek Susan Javurek
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: