Bug 743602

Summary: MDB is not automatically reconnected to another mrg node in the mrg cluster
Product: Red Hat Enterprise MRG Reporter: Jiri Sedlacek <jsedlace>
Component: qpid-jcaAssignee: Weston M. Price <wprice>
Status: CLOSED CURRENTRELEASE QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: high Docs Contact:
Priority: medium    
Version: 2.0CC: cdewolf, iboverma, jross, oskutka, tross, wprice
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-03-12 12:00:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 834416    
Bug Blocks:    

Description Jiri Sedlacek 2011-10-05 13:50:16 UTC
Description of problem: MDB is not automatically reconnected to another mrg node in the mrg cluster

We have two qpidd nodes in cluster on one machine working, started with commands:

/usr/sbin/qpidd -p 5677 --data-dir /tmp/qpidd.5677.dd --daemon --auth no --log-enable info+ --log-enable trace+:amqp_0_10 --log-to-file=/tmp/qpidd.5677.log --truncate no --cluster-name=eap-qpid-jca; 
/usr/sbin/qpidd -p 5676 --data-dir /tmp/qpidd.5676.dd --daemon --auth no --log-enable info+ --log-enable trace+:amqp_0_10 --log-to-file=/tmp/qpidd.5676.log --truncate no --cluster-name=eap-qpid-jca

queue configured by this MBean:
<mbean code="org.jboss.resource.deployment.AdminObject"
     name="qpid.jca:name=mrg_ha_kill_mrg_in">
     <attribute name="JNDIName">queue/mrg_ha_kill_mrg_in</attribute>
     <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='qpid-ra.rar'</depends>
     <attribute name="Type">javax.jms.Destination</attribute>
     <attribute name="Properties">
          destinationAddress=mrg_ha_kill_mrg_in;{create:always,node:{type:queue,durable:true}}
          destinationType=queue
     </attribute>
</mbean>


and MDB with specification below, which writes messages to STDOUT:

@MessageDriven(mappedName = "jms/QpidListener", activationConfig = { @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
      @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
      @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/mrg_ha_kill_mrg_in"),
      @ActivationConfigProperty(propertyName = "connectionURL", propertyValue = "amqp://guest:guest@/test?brokerlist='tcp://mrg01.mw.lab.eng.bos.redhat.com:5674?sync_ack='true'&max_prefetch='0''&failover='failover_exchange'"),
      @ActivationConfigProperty(propertyName = "useLocalTx", propertyValue = "true"),
      @ActivationConfigProperty(propertyName = "maxSession", propertyValue = "15") })
@ResourceAdapter("qpid-ra.rar")

We send N messages to the queue and when N/2 messages are processed by MDB, we kill one qpidd on port 5674.
  
Actual results:

MDB is not reconnected and messages are not read anymore, lots of exceptions are thrown.

Expected results:

MDB should be reconnected and continue to read messages from the queue.

Comment 1 Weston M. Price 2011-10-13 12:49:42 UTC
There is significant work going on in relation to failover and the JMS client. We are having discussions about this. Until the failover work is integrated, I am moving this bug out of the current release.

Comment 2 Weston M. Price 2013-03-12 12:00:01 UTC
This bug should be resolved at this point. While we have some issues with HA/XA, the reconnect logic is working correctly.