The scenario tests failover when live server with LOCAL message-grouping handler is shut down during load in colocated cluster topology. Large messages are used.
- start two nodes in replicated colocated cluster topology
- configure message grouping on nodes in ths way: Node-1:live-LOCAL, backup-REMOTE and Node-2: live-REMOTE, backup-LOCAL
- start sending large messages with group id to inQueue on node-1 and receiving them from inQueue on node-2
- during sending and receiving shut down node-1
- producer makes failover on backup and continues in sending messages
- wait for producer and consumer to finish and verify sent and received messages
Pass criteria: receiver get all sent messages, producer sends all messages
Actual state: On Windows the receiver receives only 40 messages from 200.
Note: Test passes on Fedora 22.
javax.jms.JMSException: AMQ119014: Timed out after waiting 30,000 ms for response when sending packet 41 at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:350) at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendACK(ActiveMQSessionContext.java:410) at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.acknowledge(ClientSessionImpl.java:678) at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.doAck(ClientConsumerImpl.java:1035) at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.flushAcks(ClientConsumerImpl.java:720) at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.flushAcks(ClientSessionImpl.java:1563) at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.commit(ClientSessionImpl.java:455) at org.apache.activemq.artemis.core.client.impl.DelegatingSession.commit(DelegatingSession.java:145) at org.apache.activemq.artemis.jms.client.ActiveMQMessage.acknowledge(ActiveMQMessage.java:651) at org.jboss.qa.hornetq.apps.clients.ReceiverClientAck.acknowledgeMessage(ReceiverClientAck.java:259) at org.jboss.qa.hornetq.apps.clients.ReceiverClientAck.run(ReceiverClientAck.java:194) Caused by: ActiveMQConnectionTimedOutException[errorType=CONNECTION_TIMEDOUT message=AMQ119014: Timed out after waiting 30,000 ms for response when sending packet 41] ... 11 more
To reproduce this issue type following commands:
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.ER2 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=ReplicatedColocatedClusterFailoverTestCase#testGroupingFailoverNodeOneDownSdLM -DfailIfNoTests=false -Deap=7x | tee log
Note: Priority of the JIRA is not a blocker because the issue point to design limitation of message grouping which were already described in Administration and Configuration Guide for HornetQ in EAP 6.4 [1] and futher with dev discussed in bugzilla [2]. It is reported because message grouping does not appear to be enterprise ready from QE point of view.
[1] http://documentation-devel.engineering.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Clustered_Grouping
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1139690
- clones
-
JBEAP-2341 [GSS](7.2.0) Lost messages in replicated colocated topology with message-grouping handler
- Closed
- incorporates
-
JBEAP-2341 [GSS](7.2.0) Lost messages in replicated colocated topology with message-grouping handler
- Closed