[jboss-user] [JCA/JBoss] - HeuristicMixedException: cause and remedy?

kennardconsulting do-not-reply at jboss.com
Wed Jul 1 20:11:47 EDT 2009


Hi guys, 

The JBoss Messaging guys suggested I post here (original thread here http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4241134#4241134).

I'm having a hard time finding good documentation on javax.transaction.HeuristicMixedException. JBoss Messaging (and the old JBoss MQ) seems to throw this exception intermittently while processing large volumes of messages in a batch (say, 2000 messages over 3 cluster nodes): 

javax.transaction.HeuristicMixedException
  |         at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate
  | (TransactionImple.java:1431)
  |         at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction
  | .java:137)
  |         at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDeleg
  | ate.java:75)
  |         at org.jboss.resource.adapter.jms.inflow.JmsServerSession$XATransactionDemarcationStrategy.e
  | nd(JmsServerSession.java:657)
  |         at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:243)
  |         at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)
  |         at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
  |         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:619)
	 
The worst thing is, once the exception is thrown, that node is effectively dead. No more JMS messages get processed. My app has multiple queues, but once one queue on the node fails (say, the e-mail queue) then all queues stop working (say, the reports queues): they all report HeuristicMixedException whenever a message is sent to them. 

Can anybody suggest why this error happens, and whether there is some setting to automatically recover from it? If I manually restart the node it works fine. 

Regards, 

Richard

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4241309#4241309

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4241309



More information about the jboss-user mailing list