Slightly more info on "BTM hangs with PGXAConnection" (OMERO #1158)
First off, thanks Ludovic for stopping by our trac (#1158). As you saw there, we ran into consistent and immediate hangs when using BTM 2PC + Postgresql. The first call any client makes in our system is a session creation, which requires running some setup in a second transaction. In an attempt to work around the hangs, we tried 1PC, but as with atomikos failed frequently with HeuristicMixedExceptions.
Our conclusion was that our use of suspend/resume (via Spring) was simply not going to function with Postgresql's current JTA implementation. The javadocs make that painfully obvious, but unfortunately I didn't find that note until quite late, even though various JTA implementations (atomikos most notably) did suggest *not* using postgres. That, however, isn't currently an option for us.
I considered approaching each of the JTA implementations we tested with the various failures, but had unfortunately run somewhat out of time. After our up coming release if there is anything you'd like me to retry, please let me know.
I enjoyed working with BTM and was disgruntled to have to give it up. As soon as I hear word from Postgresql, I'll be sure to try it out again.
Take care & best wishes,
The Open Microscopy Environment
My conclusion is that PostgreSQL's XA support wasn't usable before DB version 8.3 and JDBC driver 8.3-603. Don't even try with older versions you'd just waste your time. I don't know which version you've tried so this information could be relevant.
I've never used PostgreSQL myself (except for testing) but I got asked to support it many times. It still has limitations but unless you're doing seriously weird stuff with your DB it should work just fine.
Come back on the mailing list when you have some time to work on this issue again, we'll troubleshoot it together, probably with the help of BTM's DEBUG logs.
Re: Slightly more info on "BTM hangs with PGXAConnection" (OMERO #1158)
As an FYI, I've had the following experiences with PostgreSQL and XA.
* I've been using XA transactions with PostgreSQL and Weblogic Server's
Transaction Manager for the last two years, using 8.2-506.jdbc3.jar .
We have had no issues whatsoever, on a fairly low-load system (handling
approx 1 tx per second on average). At the time we started using this
setup, I recall I had issues with what had been the latest driver (e.g.
504 or something) - but mail threads and changelog revealed some work
being done to specifically enable it to work with Weblogic's TM for 505/506.
* Recently I've been working with testing BTM with PostgreSQL and have
had great success, excepting a small bug found in BTM itself in its
handling of a failure case - which Ludovic has now patched.
To unsubscribe from this list, please visit: