We have a application which is configured with the "Master/Slave" Active MQ
failover protocol.
But while testing the Failover scenarios sometime switch-over between Master
and Slave is working fine but some time we faced following exception and our
programs throw Exception.
How can we track/sure that activeMQ  fail over retry is working?
We are using:
a. apache-activemq version -> 5.6.0
b. java version -> 1.6.0_31

1. Sometimes we got this type of exception.
javax.jms.TransactionRolledBackException: Transaction completion in doubt
due to failover. Forcing rollback of
TX:ID:srilanka-testing1-42758-1422616254934-1:1:308
        at
org.apache.activemq.state.ConnectionStateTracker.restoreTransactions(ConnectionStateTracker.java:229)
        at
org.apache.activemq.state.ConnectionStateTracker.restore(ConnectionStateTracker.java:167)
        at
org.apache.activemq.transport.failover.FailoverTransport.restoreTransport(FailoverTransport.java:783)
        at
org.apache.activemq.transport.failover.FailoverTransport.doReconnect(FailoverTransport.java:958)
        at
org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:138)
        at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
        at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
                
2. Sometimes we got also this type of exception
javax.jms.TransactionRolledBackException: rolling back transaction
(TX:ID:srilanka-testing1-51791-1422616379414-1:1:250) post failover
recovery. 1 previously delivered message(s) not replayed to consumer:
ID:srilanka-testing1-51791-1422616379414-1:1:1:250
        at
org.apache.activemq.ActiveMQMessageConsumer.rollbackOnFailedRecoveryRedelivery(ActiveMQMessageConsumer.java:1105)
        at
org.apache.activemq.ActiveMQMessageConsumer.acknowledge(ActiveMQMessageConsumer.java:1037)
        at
org.apache.activemq.ActiveMQMessageConsumer$5.beforeEnd(ActiveMQMessageConsumer.java:1001)
        at
org.apache.activemq.TransactionContext.beforeEnd(TransactionContext.java:202)
        at
org.apache.activemq.TransactionContext.commit(TransactionContext.java:304)
        at
org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:561)
        at
org.apache.activemq.ActiveMQQueueSession.commit(ActiveMQQueueSession.java:72)
        at
com.nri.xenos.inf.TxnResources.commitQueueSessions(TxnResources.java:455)
        at
com.nri.xenos.inf.TxnResources.doTwoPhaseCommit(TxnResources.java:362)
        at com.nri.xenos.inf.TxnResources.commit(TxnResources.java:237)
        at com.nri.xenos.inf.TxnManager.commit(TxnManager.java:247)
        at
com.nri.xenos.inf.XenosUserTransaction.commit(XenosUserTransaction.java:134)
        at
com.nri.xenos.cli.services.impl.MessageRunner.task(MessageRunner.java:235)
        at
com.nri.xenos.inf.console.launcher.ServiceRunnerBase.serviceInternal(ServiceRunnerBase.java:251)
        at
com.nri.xenos.inf.console.launcher.ServiceRunnerBase.run(ServiceRunnerBase.java:142)
        at java.lang.Thread.run(Thread.java:662)




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/How-retry-is-working-in-ActiveMQ-Master-Slave-configuration-with-failover-protocol-tp4690808.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to