Hi all,
 
We are currently testing failover for our application in Jboss 7.2 with
HornetQ cluster active/passive in XA transacted mode. It seems like failover
works at random, but often we get the following error on the client side and
the one below on the server side. It seems to be stable when running
transacted mode without XA. We are using Camel/Spring/activemq-jms-pool
5.9.0/XaPooledConnectionFactory. Has anyone successfully run this
configuration with failover? Any help would be greatly appreciated!

My interpretation of what happens is this.

1. Active and Passive queue servers are running
2. We shut down the active queue server.
3. Our application tries to continue and is given a session by activemq
pool.
4. The queue server recognizes the session as already being in use by
another transaction and throws an exception.

However - the session/transaction never seem to time out on the queue server
and is also never discarded on the activemq session pool?

Please...any help will be greatly appreciated!
 
Cheers,
 
Jesper

Application server exception
 
13:50:48,113 ERROR [org.hornetq.core.client] (Camel (camelContext) thread
#21 - JmsConsumer[asynchronousPaymentProcessingQueue]) HQ214007: XA start
operation failed Cannot start, session is already doing work in  
a transaction XidImpl (574641522
bq:0.0.0.0.0.0.0.0.0.0.-1.-1.10.20.103.76.-72.-12.91.64.83.113.-113.22.0.0.126.113.0.0.0.0.0.0.0.0
formatID:131077
gtxid:0.0.0.0.0.0.0.0.0.0.-1.-1.10.20.103.76.-72.-12.91.64.83.11  
3.-113.22.0.0.126.111.49
base64:AAAAAAAAAAAAAP__ChRnTLj0W0BTcY8WAAB-cQAAAAAAAAAAAAAAAAAAAAAAAP__ChRnTLj0W0BTcY8WAAB-bzEHAgIA
code:-6  
13:50:48,113 WARN  [com.arjuna.ats.jta] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue]) ARJUNA016061:
TransactionImple.enlistResource - XAResource.start returned: XAException.X  
AER_PROTO for < formatId=131077, gtrid_length=29, bqual_length=36,
tx_uid=0:ffff0a14674c:-470ba4c0:53718f16:4316e, node_name=1,
branch_uid=0:ffff0a14674c:-470ba4c0:53718f16:43170,
subordinatenodename=null, eis_na  
me=unknown eis name >: javax.transaction.xa.XAException  
        at
org.hornetq.core.client.impl.ClientSessionImpl.start(ClientSessionImpl.java:1775)
[hornetq-core-client.jar:]  
        at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:636)
  
        at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:397)
  
        at
org.apache.activemq.jms.pool.XaConnectionPool.createSession(XaConnectionPool.java:70)
[activemq-jms-pool.jar:5.9.0]  
        at
org.apache.activemq.jms.pool.PooledConnection.createSession(PooledConnection.java:167)
[activemq-jms-pool.jar:5.9.0]  
        at
org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196)
[spring-jms.jar:3.2.2.RELEASE]  
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.access$200(AbstractPollingMessageListenerContainer.java:77)
[spring-jms.jar:3.2.2.RELEASE]  
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer$MessageListenerContainerResourceFactory.createSession(AbstractPollingMessageListenerContainer.java:531)
[spring-jms.jar:3.2.2.RE  
LEASE]  
        at
org.springframework.jms.connection.ConnectionFactoryUtils.doGetTransactionalSession(ConnectionFactoryUtils.java:300)
[spring-jms.jar:3.2.2.RELEASE]  
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:288)
[spring-jms.jar:3.2.2.RELEASE]  
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243)
[spring-jms.jar:3.2.2.RELEASE]  
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1096)
[spring-jms.jar:3.2.2.RELEASE]  
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1088)
[spring-jms.jar:3.2.2.RELEASE]  
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:985)
[spring-jms.jar:3.2.2.RELEASE]  
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
[rt.jar:1.6.0_45]  
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
[rt.jar:1.6.0_45]  
        at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]  
  
  
13:50:48,114 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])
javax.transaction.xa.XAException  
13:50:48,114 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.hornetq.core.client.impl.ClientSessionImpl.start(ClientSessionImpl.java:1775)
  
13:50:48,114 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(Transa
  
ctionImple.java:636)  
13:50:48,115 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(Transa
  
ctionImple.java:397)  
13:50:48,115 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.apache.activemq.jms.pool.XaConnectionPool.createSession(XaConnectionPool.java:70)
  
13:50:48,115 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.apache.activemq.jms.pool.PooledConnection.createSession(PooledConnection.java:167)
  
13:50:48,115 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196) 
 
13:50:48,115 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.access$200(Abstr
  
actPollingMessageListenerContainer.java:77)  
13:50:48,115 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer$MessageListenerC
  
ontainerResourceFactory.createSession(AbstractPollingMessageListenerContainer.java:531)
  
13:50:48,115 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.springframework.jms.connection.ConnectionFactoryUtils.doGetTransactionalSession(Conne
  
ctionFactoryUtils.java:300)  
13:50:48,115 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExec
  
ute(AbstractPollingMessageListenerContainer.java:288)  
13:50:48,116 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecut
  
e(AbstractPollingMessageListenerContainer.java:243)  
13:50:48,116 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvo
  
ker.invokeListener(DefaultMessageListenerContainer.java:1096)  
13:50:48,116 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvo
  
ker.executeOngoingLoop(DefaultMessageListenerContainer.java:1088)  
13:50:48,116 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvo
  
ker.run(DefaultMessageListenerContainer.java:985)  
13:50:48,116 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  
13:50:48,116 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
 
13:50:48,116 ERROR [stderr] (Camel (camelContext) thread #21 -
JmsConsumer[asynchronousPaymentProcessingQueue])         at
java.lang.Thread.run(Thread.java:662)  
13:50:50,165 WARN 
[org.apache.camel.component.jms.DefaultJmsMessageListenerContainer] (Camel
(camelContext) thread #20 - JmsConsumer[asynchronousPaymentProcessingQueue])
Setup of JMS message listener invoker failed for destination
'asynchronousPaymentProcessingQueue' - trying to recover. Cause: JTA
transaction unexpectedly rolled back (maybe due to a timeout); nested
exception is javax.transaction.RollbackException: ARJUNA016053: Could not
commit transaction.  
 
 
 Queue server exception
13:21:38,295 ERROR [org.hornetq.core.server] (Old I/O server worker
(parentId: -1887525330, [id: 0x8f7ea62e, /10.20.103.88:5595])) HQ224029:
Caught XA exception: org.hornetq.core.exception.HornetQXAException: Invalid
transaction state  
        at
org.hornetq.core.server.impl.ServerSessionImpl.individualAcknowledge(ServerSessionImpl.java:634)
[hornetq-server-2.3.0.CR1.jar:]  
        at
org.hornetq.core.protocol.core.ServerSessionPacketHandler.handlePacket(ServerSessionPacketHandler.java:415)
[hornetq-server-2.3.0.CR1.jar:]  
        at
org.hornetq.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:616)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:547)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:523)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.hornetq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:562)
[hornetq-server-2.3.0.CR1.jar:]  
        at
org.hornetq.core.remoting.impl.netty.HornetQChannelHandler.messageReceived(HornetQChannelHandler.java:72)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:787)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:281)
[netty-3.6.2.Final.jar:]  
        at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.decode(HornetQFrameDecoder2.java:169)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.messageReceived(HornetQFrameDecoder2.java:134)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.socket.oio.OioWorker.process(OioWorker.java:71)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.socket.oio.AbstractOioWorker.run(AbstractOioWorker.java:73)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.socket.oio.OioWorker.run(OioWorker.java:51)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.util.VirtualExecutorService$ChildExecutorRunnable.run(VirtualExecutorService.java:175)
[netty-3.6.2.Final.jar:]  
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
[rt.jar:1.6.0_30]  
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.6.0_30]  
        at java.lang.Thread.run(Thread.java:701) [rt.jar:1.6.0_30]  
  
  
13:21:38,354 ERROR [org.hornetq.core.server] (Old I/O server worker
(parentId: -1887525330, [id: 0x8f7ea62e, /10.20.103.88:5595])) HQ224030:
Caught exception: HornetQException[errorType=ILLEGAL_STATE message=HQ119057:
Could not find reference on consumer ID=67, messageId = 51,567,696,761 queue
= jms.queue.asynchronousPaymentProcessingQueue]  
        at
org.hornetq.core.server.impl.ServerConsumerImpl.acknowledge(ServerConsumerImpl.java:645)
[hornetq-server-2.3.0.CR1.jar:]  
        at
org.hornetq.core.server.impl.ServerSessionImpl.acknowledge(ServerSessionImpl.java:624)
[hornetq-server-2.3.0.CR1.jar:]  
        at
org.hornetq.core.protocol.core.ServerSessionPacketHandler.handlePacket(ServerSessionPacketHandler.java:269)
[hornetq-server-2.3.0.CR1.jar:]  
        at
org.hornetq.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:616)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:547)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:523)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.hornetq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:562)
[hornetq-server-2.3.0.CR1.jar:]  
        at
org.hornetq.core.remoting.impl.netty.HornetQChannelHandler.messageReceived(HornetQChannelHandler.java:72)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:787)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:281)
[netty-3.6.2.Final.jar:]  
        at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.decode(HornetQFrameDecoder2.java:169)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.messageReceived(HornetQFrameDecoder2.java:134)
[hornetq-core-client-2.3.0.CR1.jar:]  
        at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.socket.oio.OioWorker.process(OioWorker.java:71)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.socket.oio.AbstractOioWorker.run(AbstractOioWorker.java:73)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.channel.socket.oio.OioWorker.run(OioWorker.java:51)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
[netty-3.6.2.Final.jar:]  
        at
org.jboss.netty.util.VirtualExecutorService$ChildExecutorRunnable.run(VirtualExecutorService.java:175)
[netty-3.6.2.Final.jar:]  
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
[rt.jar:1.6.0_30]  
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.6.0_30]  
        at java.lang.Thread.run(Thread.java:701) [rt.jar:1.6.0_30]  



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/failover-session-pool-tp4681094.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to