4 Replies Latest reply on May 30, 2013 4:22 AM by Nico Scarciolla

    Failed to replay transaction

    John Heijm Newbie

      JBoss is attempting to recover existing prepared transactions by redelivering unhandled messages and acknowledgements on the appropriate channels (from TransactionRepository#recoverPreparedTransactions javadocs). The queue that was bound to the channel id specified is no longer defined.

       

      I have two questions:

       

      1) How can this happen? There are three nodes in this cluster.

      2) How can I remove these transactions or force them to recover? This same message keeps repeating for the same 3 ids over and over and over again).

       

      Thanks a lot.

       

      Here is my stack trace:

       

      2011-03-21 11:23:47,285 WARN -> (Thread-6) [TransactionRepository] Failed to replay transaction (XID: MessagingXid (24348582 bq:45.55.52.99.102.55.49.52.57.58.99.52.53.51.58.52.100.55.54.56.55.52.98.58.51.51.48.101.57.49 fo
      rmatID:131075 gtxid:49.45.45.55.52.99.102.55.49.52.57.58.99.52.53.51.58.52.100.55.54.56.55.52.98.58.51.51.48.101.57.48, LocalID: 21293346538722831) during recovery.
      java.lang.IllegalStateException: Cannot find binding for channel id 751
      at org.jboss.messaging.core.impl.tx.TransactionRepository.handleAcks(TransactionRepository.java:377)
      at org.jboss.messaging.core.impl.tx.Transaction.loadState(Transaction.java:357)
      at org.jboss.messaging.core.impl.tx.TransactionRepository.recoverPreparedTransactions(TransactionRepository.java:149)
      at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.getPreparedTransactions(ServerConnectionEndpoint.java:539)
      at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$getPreparedTransactions$aop(ConnectionAdvised.java:106)
      at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$getPreparedTransactions_8083036720366990761.invokeNext(ConnectionAdvised$getPreparedTransactions_8083036720366990761.java)
      at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
      at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$getPreparedTransactions_8083036720366990761.invokeNext(ConnectionAdvised$getPreparedTransactions_8083036720366990761.java)
      at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.getPreparedTransactions(ConnectionAdvised.java)
      at org.jboss.jms.wireformat.ConnectionGetPreparedTransactionsRequest.serverInvoke(ConnectionGetPreparedTransactionsRequest.java:67)
      at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
      at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:866)
      at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:101)
      at org.jboss.remoting.Client.invoke(Client.java:1640)
      at org.jboss.remoting.Client.invoke(Client.java:554)
      at org.jboss.remoting.Client.invoke(Client.java:542)
      at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
      at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
      at org.jboss.jms.client.delegate.ClientConnectionDelegate.org$jboss$jms$client$delegate$ClientConnectionDelegate$getPreparedTransactions$aop(ClientConnectionDelegate.java:265)
      at org.jboss.jms.client.delegate.ClientConnectionDelegate$getPreparedTransactions_8083036720366990761.invokeNext(ClientConnectionDelegate$getPreparedTransactions_8083036720366990761.java)
      at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
      at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
      at org.jboss.jms.client.delegate.ClientConnectionDelegate$getPreparedTransactions_8083036720366990761.invokeNext(ClientConnectionDelegate$getPreparedTransactions_8083036720366990761.java)
      at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
      at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
      at org.jboss.jms.client.delegate.ClientConnectionDelegate$getPreparedTransactions_8083036720366990761.invokeNext(ClientConnectionDelegate$getPreparedTransactions_8083036720366990761.java)
      at org.jboss.jms.client.delegate.ClientConnectionDelegate.getPreparedTransactions(ClientConnectionDelegate.java)
      at org.jboss.jms.tx.ResourceManager.recover(ResourceManager.java:575)
      at org.jboss.jms.tx.MessagingXAResource.recover(MessagingXAResource.java:281)
      at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.recover(MessagingXAResourceWrapper.java:110)
      at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecovery(XARecoveryModule.java:746)
      at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecovery(XARecoveryModule.java:685)
      at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:179)
      at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWork(PeriodicRecovery.java:237)
      at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:163)