[jboss-jira] [JBoss JIRA] (WFLY-9690) Inbound connection rebalancing does not allow failover to backup

Kabir Khan (JIRA) issues at jboss.org
Wed Jan 17 06:27:00 EST 2018


Kabir Khan created WFLY-9690:
--------------------------------

             Summary: Inbound connection rebalancing does not allow failover to backup
                 Key: WFLY-9690
                 URL: https://issues.jboss.org/browse/WFLY-9690
             Project: WildFly
          Issue Type: Enhancement
          Components: JMS
    Affects Versions: 10.1.0.Final
            Reporter: Miroslav Novak
            Assignee: Justin Bertram
            Priority: Critical


If MDB contains activation config property:
@ActivationConfigProperty(propertyName = "rebalanceConnections", propertyValue = "true")

so rebalancing of inbound connections is enabled then MDB is not able to failover from live to backup if backup is cleanly shutdowned (ctrl-c).

Test scenario:
 - There are 3 EAP 7 servers. 1st has Artemis configured as live and 2nd has Artemis configured as backup server. So servers are in dedicated HA topology with replicated journal. Then there are queues InQueue and OutQueue deployed to live and backup.
 - Start live and backup and then send 2000 messages to InQueue to live server.
 - Start 3rd server which has configured Artemis RA to connect to live server. HA is enabled. 
 - Deploy MDB on 3rd server. MDB consumes messages from InQueue and sends to OutQueue in XA transaction.
 - When MDB is processing messages cleanly shutdown live server. 
 - MDB should failover to backup and process all the messages
 - Receive messages from OutQueue from backup server and check that all messages were received.

Test fails bacause MDB is not able to failover to backup.

Server 3 with MDB is logging:
{code}
15:16:02,975 ERROR [org.apache.activemq.artemis.ra] (NodeDOWN Connection Rebalancer) AMQ154003: Unable to reconnect org.apache.activemq.artemis.ra.inflow.ActiveMQActivationSpec(ra=org.apache.activemq.artemis.ra.ActiveMQResourceAdapter at 51f82f98 destination=jms/queue/InQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15): ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
	at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:777) [artemis-core-client-1.1.0.redhat-5.jar:1.1.0.redhat-5]
	at org.apache.activemq.artemis.ra.inflow.ActiveMQActivation.setup(ActiveMQActivation.java:315)
	at org.apache.activemq.artemis.ra.inflow.ActiveMQActivation.reconnect(ActiveMQActivation.java:678)
	at org.apache.activemq.artemis.ra.inflow.ActiveMQActivation$2.run(ActiveMQActivation.java:627)
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_51]
{code}

If rebalanceConnections=false then test passes.

How to run the test locally:
{code}
git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git
cd eap-tests-hornetq/scripts/
git checkout refactoring_modules
groovy -DEAP_VERSION=7.0.0.ER4  PrepareServers7.groovy
export WORKSPACE=$PWD
export JBOSS_HOME_1=$WORKSPACE/server1/jboss-eap
export JBOSS_HOME_2=$WORKSPACE/server2/jboss-eap
export JBOSS_HOME_3=$WORKSPACE/server3/jboss-eap
export JBOSS_HOME_4=$WORKSPACE/server4/jboss-eap
cd ../jboss-hornetq-testsuite/
mvn clean test -Dtest=ReplicatedDedicatedFailoverTestWithMdb#testShutdown  -DfailIfNoTests=false  -Deap=7x  | tee log
{code}



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list