[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