Red Hat Bugzilla – Bug 1291688
one-off (BZ1290841) - Lost message after suspending server with MDB consuming from HornetQ cluster
Last modified: 2015-12-17 08:47:33 EST
Description of problem:
There is missing one message in scenario with suspended EAP 6 server with MDB.
Test scenario - "suspend server in remote JCA topology in cluster"
1. Start servers 1 and 3 in HornetQ cluster (jms cluster) with deployed queues InQueue and OutQueue
2. Start servers 2 and 4 (mdb servers) which has configured resource adapter to connect to jms cluster
3. Start sending 10 000 messages to InQueue to jms cluster and deploy MDB to each mdb server
- MDB consumes messages from InQueue and for each message sends a new message to OutQueue. MDB makes JNDI lookup for OutQueue for each message.
5. During processing of messages by MDB, suspend process of server 2 (with MDB) for 10 minutes and resume
6. Wait until all messages are processed from InQueue
Number of sent and received messages is the same. There are no lost or duplicated messages.
Test failed because there was 1 message sent to InQueue which did not have its corresponding message in OutQueue:
Lost message detected - there are not corresponding messages for: [ID:e613ea9c-a30f-11e5-9e86-f7c57f59158b]
Attaching traces from all 4 servers and clients (test-suite.log).
Link to failed Jenkins job - https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-64x-patched-hornetq-remote-jca-suspend-tests/9/testReport/org.jboss.qa.hornetq.test.remote.jca/RemoteJcaWithSuspendTestCase/suspendOfMdbInClusterWithLodhLikeMdbMixMessages/
Version-Release number of selected component (if applicable):
EAP 6.4.5.CP + bz#1290841
Steps to Reproduce:
git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git
git checkout cpu-load
# copy patched EAP 6.4.5.CP with BZ1290841 from messaging-10
scp 10.16.100.24:/home/mnovak/tmp/jboss-eap-6.4.5-patched-bz1290841.zip .
# this groovy script takes EAP 6.4.x zip and unzips to 4 directories, it also makes better "default" config, change path to EAP zip per your machine
groovy -DEAP_ZIP_URL=file://$PWD/../jboss-eap-6.4.5-patched-bz1290841.zip PrepareServers.groovy
mvn clean test -Dtest=RemoteJcaWithSuspendTestCase#suspendOfMdbInClusterWithLodhLikeMdbMixMessages -DfailIfNoTests=false | tee log
There is missing one message.
There should no lost messages.