-
Bug
-
Resolution: Done
-
Blocker
-
JBoss A-MQ 6.1
-
None
-
None
Test scenario:
1. Start 2 JBoss A-MQ servers. First as master and second as slave.
2. Send messages to Q1 to first JBoss A-MQ server
3. Start EAP 6.1.1 and deploy MDB which reads messages from Q1 and sends to Q2
4. When MDB is processing messages shutdown (ctrl-c) master
5. RA failovers to slave
6. Receive messages from Q2 from slaveResult: Not all messages are received in step 6.In EAP server.log is unexpected exception:| [33m16:31:49,148 WARN [org.apache.activemq.TransactionContext] (default-threads - 3) prepare of: XID:[131077,globalId=0000000000ffffffffffffffff7f00124ffffffd4595a52ffffffcc1dffffffb40022931,branchId=0|
000000000ffffffffffffffff7f00124ffffffd4595a52ffffffcc1dffffffb40022a00000000] failed with: javax.jms.JMSException: Context is null: javax.jms.JMSException: Context is null |
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54) |
at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1405) |
at org.apache.activemq.TransactionContext.syncSendPacketWithInterruptionHandling(TransactionContext.java:757) |
at org.apache.activemq.TransactionContext.prepare(TransactionContext.java:453) |
at org.apache.activemq.ra.LocalAndXATransaction.prepare(LocalAndXATransaction.java:120) |
at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelPrepare(XAResourceRecord.java:213) |
at com.arjuna.ats.arjuna.coordinator.BasicAction.doPrepare(BasicAction.java:2515) |
at com.arjuna.ats.arjuna.coordinator.BasicAction.doPrepare(BasicAction.java:2482) |
at com.arjuna.ats.arjuna.coordinator.BasicAction.prepare(BasicAction.java:2059) |
at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1481) |
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:98) |
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162) |
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165) |
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126) |
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75) |
at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:72) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10] |
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) [:1.6.0_35] |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_35] |
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_35] |
at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.handle(AbstractInvocationHandler.java:60) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10] |
at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:136) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10] |
at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10] |
at $Proxy10.afterDelivery(Unknown Source) at org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:128) |
at org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:69) |
at org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:224) |
at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:938) |
at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169) |
at org.jboss.jca.core.workmanager.WorkWrapper.run(WorkWrapper.java:218) |
at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) |
at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:806) |
at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45) |
at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:826) |
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_35] |
at org.jboss.threads.JBossThread.run(JBossThread.java:122) |
Caused by: java.lang.NullPointerException: Context is null |
at org.apache.activemq.broker.TransportConnection.processPrepareTransaction(TransportConnection.java:398) |
at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:98) |
at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:295) |
at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:152) |
at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) |
at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) |
at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) |
at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) |
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) |
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) |
Tested with JBoss A-MQ:
http://download.eng.bos.redhat.com/brewroot/repos/jb-fuse-6-rhel-6-build/latest/maven/org/jboss/amq/jboss-a-mq/6.1.0.redhat-201/jboss-a-mq-6.1.0.redhat-201.zip\\
and EAP 6.1.1.GA:
http://download.eng.rdu2.redhat.com/released/JBEAP-6/6.1.1/jboss-eap-6.1.1.zip