Description of problem: When MDB deployed in EAP server is processing messages from remote JBoss A-MQ broker then EAP server can't be shutdowned if the connection to broker is lost. Thread dump and EAP server.log attached. How reproducible: Download reproducer.zip from the attachment. Following run in "reproducer" directory: export MYTESTIP_1=127.0.0.1 git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-wsmq.git cd eap-tests-wsmq export ROOT=$PWD #get EAP wget -P ibm-mq-testsuite/activemq/installs http://download.devel.redhat.com/released/JBEAP-6/6.1.0/jboss-eap-6.1.0.zip #get JBoss A-MQ wget -P ibm-mq-testsuite/activemq/installs http://download.devel.redhat.com/released/JBossAMQ/6.0.0/jboss-a-mq-6.0.0.redhat-024.zip cd ibm-mq-testsuite/activemq sh setup_ha.sh export JBOSS_HOME=$ROOT/ibm-mq-testsuite/activemq/target/jboss-eap-6.1 cp mdb.jar $JBOSS_HOME/standalone/deployments/ touch $JBOSS_HOME/standalone/deployments/mdb.jar.dodeploy cp MessageServletForFailoverTests.war $JBOSS_HOME/standalone/deployments/ touch $JBOSS_HOME/standalone/deployments/MessageServletForFailoverTests.war.dodeploy Start JBoss A-MQ $ROOT/ibm-mq-testsuite/activemq/target/jboss-a-mq-1/jboss-a-mq-6.0.0.redhat-024/bin/amq In different console start EAP: $JBOSS_HOME/bin/standalone.sh -c standalone-full.xml -b 127.0.0.1 In browser call - this will call the MessageServletForFailoverTests and sends 1000 messages to jms/queue/Q1 http://localhost:8080/MessageServletForFailoverTests/MessageServletForFailoverTests?op=send&jndiName=jms/queue/Q1&count=1000 During sending kill/stop JBoss A-MQ server Try stop(ctrl-c) EAP server -> hangs, thread dump and server.log attached
Created attachment 774329 [details] threaddump_during_shutdown.txt
Created attachment 774330 [details] reproducer.zip
Created attachment 774331 [details] server.log
This is still an issue and should be fixed. Setting target version EAP 6.4.0.
From the threaddump_during_shutdown - the shutdown is waiting for a failover reconnect. This can be avoided by configuring the failover transport to not do reconnects. failover:(tcp://master:x,tcp:slave:y)?maxReconnectAttempts=0&startupMaxReconnectAttempts=0 Because the RAR tracks connection failure, it only needs the failover transport to choose from a list of urls, it should not use the blocking auto reconnect feature of failover.
Gary Tully <gary.tully> updated the status of jira ENTMQ-607 to Resolved
Andrej Vano <avano> updated the status of jira ENTMQ-607 to Closed