users@glassfish.java.net

Re: XAER_RMFAIL: ...global transaction is in the NON-EXISTING state

From: <glassfish_at_javadesktop.org>
Date: Mon, 27 Apr 2009 02:15:38 PDT

There is a MySQL restriction: From http://dev.mysql.com/doc/refman/5.0/en/xa-restrictions.html up to http://dev.mysql.com/doc/refman/6.0/en/xa-restrictions.html
[quote] For XA START, the JOIN and RESUME clauses are not supported.
For XA END, the SUSPEND [FOR MIGRATE] clause is not supported. [/quote]

But this is an important feature for RequiresNew:
[quote]1. Suspends the client’s transaction
2. Starts a new transaction
3. Delegates the call to the method
4. Resumes the client’s transaction after the method completes
[/quote]

Other interesting pages to MySQL restrictions and bugs:
* http://atomikos.com/Documentation/KnownProblems#MySQL_XA_bug

But I'm not really sure where the problem really is, but perhaps using a new connection for each RequiresNew would be a workaround.

JBoss has this workaround with this setting "<track-connection-by-tx>true</track-connection-by-tx>" for a datasource

Is there any chance for this feature?
[Message sent by forum member 'hegalor' (hegalor)]

http://forums.java.net/jive/thread.jspa?messageID=343901