Re: jdbc xa patches - Mailing list pgsql-jdbc

From Michael Allman
Subject Re: jdbc xa patches
Date
Msg-id 20050726232828.S74424@yvyyl
Whole thread Raw
In response to Re: jdbc xa patches  (Oliver Jowett <oliver@opencloud.com>)
Responses Re: jdbc xa patches
List pgsql-jdbc
On Wed, 27 Jul 2005, Oliver Jowett wrote:

> Oliver Jowett wrote:
>
>> Shouldn't the XAResource check the server version on construction or on
>> start()/recover() to make sure that it's actually going to be able to
>> use PREPARE TRANSACTION later? Or is erroring out with a syntax error at
>> the point of prepare() sufficient? (I'd like to see a better error
>> message there at least)
>
> More generally: can we get XAExceptions thrown with useful messages? It
> seems like there's no direct constructor that gives you both message and
> error code, but the error code is a public field so you can set it after
> construction before throwing.

Short answer: yes.

Long answer:

Since the client of a PGXAResource instance is a transaction manager I see
no benefit.  The transaction manager will make a decision on what to do
based on the code carried by XAException and carry on.  Maybe it will log
a message.

> Also, in the case where the failure is caused by another exception, we
> should generally chain that exception rather than writing it to the log
> writer. See how PSQLException does this for details..
>
> There's enough meddling there that it might be worth subclassing
> XAException to automate it all.. or have a helper method somewhere.

I'm just not sure it's worth the effort.  I did put in log messages that I
think will help debug problems and whatnot.  But exceptions are going to
be handled by the TM and will not be rethrown to any user/app code.

Maybe we should do more logging?  I'm not quite sure that would be much
benefit either.  I've found the current level of logging to be adequate.

On a related note, I think we should do some kind of app server testing
before this code is released.  I think this calls for Cactus.  What do you
think?  I know how to use JBoss.  Maybe someone else could write build
files to deploy to other app servers.

Michael

pgsql-jdbc by date:

Previous
From: Michael Allman
Date:
Subject: Re: jdbc xa patches
Next
From: Oliver Jowett
Date:
Subject: Re: jdbc xa patches