[ https://issues.apache.org/jira/browse/AMQ-4950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13853933#comment-13853933 ]
Torsten Mielke commented on AMQ-4950: ------------------------------------- Full error message: {noformat} 2013-12-20 13:38:12,558 [0.1:61249@61251] - WARN FailoverTransport - Transport (tcp://127.0.0.1:61249) failed, reason: java.io.IOException: Unexpected error occured: java.lang.ClassCastException: org.apache.activemq.command.ExceptionResponse cannot be cast to org.apache.activemq.command.IntegerResponse, attempting to automatically reconnect ... 2013-12-20 13:38:12,581 [main ] - WARN TransactionContext - prepare of: XID:[86,globalId=00000001,branchId=00000001] failed with: javax.jms.JMSException: Cannot call prepare now. javax.jms.JMSException: Cannot call prepare now. 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.bugs.AMQXXXTest.testXAPrepareFailure(AMQXXXTest.java:121) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at junit.framework.TestCase.runTest(TestCase.java:176) at junit.framework.TestCase.runBare(TestCase.java:141) at org.apache.activemq.CombinationTestSupport.runBare(CombinationTestSupport.java:107) at org.apache.activemq.CombinationTestSupport.runBare(CombinationTestSupport.java:113) at junit.framework.TestResult$1.protect(TestResult.java:122) at junit.framework.TestResult.runProtected(TestResult.java:142) at junit.framework.TestResult.run(TestResult.java:125) at junit.framework.TestCase.run(TestCase.java:129) at junit.framework.TestSuite.runTest(TestSuite.java:255) at junit.framework.TestSuite.run(TestSuite.java:250) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164) at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110) at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175) at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:81) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68) Caused by: javax.transaction.xa.XAException: Cannot call prepare now. at org.apache.activemq.transaction.XATransaction.illegalStateTransition(XATransaction.java:100) at org.apache.activemq.transaction.XATransaction.prepare(XATransaction.java:195) at org.apache.activemq.broker.TransactionBroker.prepareTransaction(TransactionBroker.java:248) at org.apache.activemq.bugs.AMQXXXTest$1.prepareTransaction(AMQXXXTest.java:81) at org.apache.activemq.broker.MutableBrokerFilter.prepareTransaction(MutableBrokerFilter.java:127) at org.apache.activemq.broker.TransportConnection.processPrepareTransaction(TransportConnection.java:408) 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 java.lang.Thread.run(Thread.java:695) {noformat} > " java.lang.ClassCastException: org.apache.activemq.command.ExceptionResponse > cannot be cast to org.apache.activemq.command.IntegerResponse, attempting to > automatically reconnect" > ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: AMQ-4950 > URL: https://issues.apache.org/jira/browse/AMQ-4950 > Project: ActiveMQ > Issue Type: Bug > Components: Broker > Affects Versions: 5.9.0 > Reporter: Torsten Mielke > Assignee: Torsten Mielke > Labels: XA, prepare, transaction > > If an XA prepare() raises an exception back to the client it results in the > warning > {noformat} > WARN FailoverTransport - Transport (tcp://127.0.0.1:61249) failed, reason: > java.io.IOException: > Unexpected error occured: java.lang.ClassCastException: > org.apache.activemq.command.ExceptionResponse cannot be cast to > org.apache.activemq.command.IntegerResponse, attempting to automatically > reconnect > {noformat} > which triggers a failover reconnect and a replay of the transaction which > then causes > {noformat} > 2013-12-20 13:38:12,581 [main] - WARN TransactionContext - prepare of: > XID:[86,globalId=00000001,branchId=00000001] failed with: > javax.jms.JMSException: Cannot call prepare now. > {noformat} -- This message was sent by Atlassian JIRA (v6.1.4#6159)