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

[mq fabric discovery] mq fabric discovery stops working when ensemble size change

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: JBoss A-MQ 6.2.1
    • Fix Version/s: JBoss A-MQ 6.3.x
    • Component/s: fabric8, master-slave
    • Labels:
      None
    • Environment:
      • tested on jboss-fuse-6.2.1.redhat-107
      • tested on jboss-fuse-6.2.1.redhat-159
      • tested on jboss-fuse-6.3.0.redhat-185
    • Steps to Reproduce:
      Hide
      • clean jboss-fuse-6.2.1.redhat-107 install
      • fabric:create
        #create a master/slave broker group
      • mq-create --create-container broker --replicas 3 --group masterslave hq-broker

      #deploy the quickstarts.camel-amq profile and point it towards the created broker group

      • fabric:container-create-child --profile quickstarts-camel.amq --profile mq-client-masterslave root mychild
      1. do a cluster list to see which broker is master
        cluster-list amq
      1. check consumer on the queue "incomingOrders" - there will be a consumer attached.
      1. increase the ensemble
        -container-create-child root en1
        -container-create-child root en2
        -ensemble-add en1 en2
      1. do a cluster list to see which broker is master
        cluster-list amq
      1. check consumer on the queue "incomingOrders" on the master - NO consumer is attached.
      1. in the client container, we see the following exception
        ~~~~
        Failed to connect to [] after: 20 attempt(s) continuing to retry.
        ~~~
      Show
      clean jboss-fuse-6.2.1.redhat-107 install fabric:create #create a master/slave broker group mq-create --create-container broker --replicas 3 --group masterslave hq-broker #deploy the quickstarts.camel-amq profile and point it towards the created broker group fabric:container-create-child --profile quickstarts-camel.amq --profile mq-client-masterslave root mychild do a cluster list to see which broker is master cluster-list amq check consumer on the queue "incomingOrders" - there will be a consumer attached. increase the ensemble -container-create-child root en1 -container-create-child root en2 -ensemble-add en1 en2 do a cluster list to see which broker is master cluster-list amq check consumer on the queue "incomingOrders" on the master - NO consumer is attached. in the client container, we see the following exception ~~~~ Failed to connect to [] after: 20 attempt(s) continuing to retry. ~~~
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      Restart client container or possibly just the client bundle

      Show
      Restart client container or possibly just the client bundle

      Description

      if the fabric ensemble changes size the mq fabric discovery mechanism on the client container stops working. The client container needs to be restarted before the mq fabric mechanism works again.

      Note: in a normal failover scenario ( 1 broker in the group is stopped and another broker becomes master) the mq fabric discovery mechanism works as expected. However when the ensemble changes size the clients are not able to connect to the broker.

        Gliffy Diagrams

          Attachments

          1. fuse_test2.log
            660 kB
          2. fuse.log
            1.47 MB

            Issue Links

              Activity

                People

                • Assignee:
                  garytully Gary Tully
                  Reporter:
                  pfox Patrick Fox
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: