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

Enable the *ClusterClients transport options to rebalance correctly within an OpenShift environment

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • JBoss A-MQ 6.2.1
    • failover

      At the moment if you configure a NoB within OSE like:

      A network of broker on Openshift with 3 broker under 1 service.
      Those broker are configured like this :

      <transportConnectors>
                  <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600" updateClusterClients="true" rebalanceClusterClients="true" updateClusterClientsOnRemove="true">
                      <publishedAddressPolicy>
                          <publishedAddressPolicy publishedHostStrategy="IPADDRESS" />
                      </publishedAddressPolicy>
                  </transportConnector>
              </transportConnectors>
      

      And on the client side utilize:

      failover:(" + openshiftService + ")?randomize=true&initialReconnectDelay=700
      

      The rebalancing does not work properly, likely due to the openshiftService URI not being new as per this line of code.

      Instead what is seen are errors like this on the broker:

      Transport Connection to: tcp://10.1.5.1:46684 failed: java.io.EOFException 
      

      And this in a transacted camel route producer:

      org.springframework.jms.TransactionRolledBackException: Transaction completion in doubt due to failover. Forcing rollback of TX:ID:dpl-cfg-u1-1-zp6yk-45255-1474550221616-1:361:1; nested exception is javax.jms.TransactionRolledBackException: Transaction completion in doubt due to failover. Forcing rollback of TX:ID:dpl-cfg-u1-1-zp6yk-45255-1474550221616-1:361:1
      

      The desired behaviour is to rebalance when scaling UP or DOWN the brokers, and as well to
      rebalance when a client connects or disconnects. e.g.:

      If we had 6 consumer and 3 brokers at start we would have :

      broker1 :
        - consumer1
        - consumer2
      broker2:
        - consumer3
        - consumer4
      broker3:
        - consumer5
        - consumer6
      

      And when losing consumer 6/5/4 it would automaticaly rebalance to :

      broker1 :
        - consumer1
      broker2:
        - consumer2
      broker3:
        - consumer3
      

            Unassigned Unassigned
            rhn-support-rkieley Roderick Kieley
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: