Re: [BUGS] Incorrect response code after XA recovery

From: Jeremy Whiting <jwhiting(at)redhat(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Tom Jenkinson <tom(dot)jenkinson(at)redhat(dot)com>, Ondrej Chaloupka <ochaloup(at)redhat(dot)com>, pgsql-jdbc(at)postgresql(dot)org, pgsql-bugs(at)postgresql(dot)org, Pavel Raiskup <praiskup(at)redhat(dot)com>
Subject: Re: [BUGS] Incorrect response code after XA recovery
Date: 2013-07-31 11:36:51
Message-ID: 51F8F6D3.30500@redhat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-general pgsql-jdbc

Hi Tom,
The driver currently doesn't report back to the calling client (tm)
XAException.XAER_NOTA code as Ondrej and Tom Jenkinson have identified.
Instead it returns XAException.XAER_RMERR. See line 416

https://github.com/pgjdbc/pgjdbc/blob/master/org/postgresql/xa/PGXAConnection.java#416

which imo is used for general errors in the resource manager.

I've written a test case that can be pulled into the pgjdbc testsuite
that will make verifying this error easier. It is based on the example
code Tom Jenkinson provided. A pull request has been created which can
be found here...

https://github.com/pgjdbc/pgjdbc/pull/73

I am currently coding up a change to the driver in anticipation there
is agreement in the pgjdbc group to change the rollback method. Another
pull request will be created for that. Let's see what discussion and
decision is made by the more active members in pgjdbc.

Regards,
Jeremy

On 29/07/13 16:11, Tom Lane wrote:
> Tom Jenkinson <tom(dot)jenkinson(at)redhat(dot)com> writes:
>> On Mon 29 Jul 2013 15:46:12 BST, Tom Lane wrote:
>>> No idea, but in any case that's outside Postgres' purview. It's barely
>>> possible that the Postgres JDBC driver has something to do with that,
>>> but it sounds more like the XA manager's turf.
>> I am not sure what you mean here as I don't know the structure of how
>> the PostGres project is packaged, all I know is that the PostGres JDBC
>> driver component appears to be returning an XAException with the
>> message "Error rolling back prepared transaction" and an errorCode of
>> XAException.XAER_RMERR rather than XAER_NOTA.
>> Is there a different component within your bug tracking system we
>> should be using to raise this against the JDBC driver instead?
> The folk who would fix anything in the JDBC driver tend to read
> pgsql-jdbc sooner than pgsql-bugs, so cc'ing there for comment.
>
> regards, tom lane
>
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Jeremy Whiting 2013-07-31 14:52:25 Re: [BUGS] Incorrect response code after XA recovery
Previous Message G.Bakalarski 2013-07-31 08:24:40 Re: BUG #8318: memory leak during CREATE TEMPORARY TABLE

Browse pgsql-general by date

  From Date Subject
Next Message Stephen Brearley 2013-07-31 11:50:33 Re: Postgres 9.2.4 for Windows (Vista) Dell Vostro 400, re-installation failure PLEASE CAN SOMEONE HELP!!
Previous Message Stephen Brearley 2013-07-31 11:28:57 Re: Postgres 9.2.4 for Windows (Vista) Dell Vostro 400, re-installation failure PLEASE CAN SOMEONE HELP!!

Browse pgsql-jdbc by date

  From Date Subject
Next Message mephysto 2013-07-31 14:34:45 getArrayImpl function
Previous Message jwollman 2013-07-30 18:32:34 Re: Slow statement when using JDBC