users@glassfish.java.net

Re: XA transactions never committing or terminating

From: Marina Vatkina <marina.vatkina_at_oracle.com>
Date: Thu, 17 May 2012 12:04:51 -0700

That's weird. Try __default, changing it to XA...

-marina

Laird Nelson wrote:
> Hello; I am trying to track down the cause of XA transactions that are
> neither committing nor rolling back.
>
> We are observing this behavior in an Informix database that our
> Glassfish 3.1.2 instance, using the IBM Informix JDBC XA driver, is using.
>
> The symptom we are observing is that a global transaction is started
> on the Informix instance but is never terminated.
>
> The global transaction is started from our Glassfish instance--that
> much we know; it's the only XA participant that could be starting such
> a global transaction.
>
> From the Glassfish perspective, the EJB in question completes and
> returns normally--it makes use of a JPA persistence context
> (EntityManager) that is attached to an XA data source (which in turn
> is of course attached to Informix). I would think that this normal
> completion of a transactional EJB business operation would cause a
> commit to be sent to the Informix database, and hence I would expect
> to see that global transaction id that corresponds to the XA
> transaction finished. Instead, it just hangs out there until we
> accumulate zillions of them.
>
> Where would I even start to look at this problem? Is this something
> that's more likely to be a JDBC driver problem, or a TM problem from
> within Glassfish?
>
> I apologize for my ignorance here; XA is not something I'm an expert
> on by any means.
>
> Best,
> Laird
>
> --
> http://about.me/lairdnelson
>