From: | Jeremy Whiting <jwhiting(at)redhat(dot)com> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Cc: | Tom Jenkinson <tom(dot)jenkinson(at)redhat(dot)com>, Ondrej Chaloupka <ochaloup(at)redhat(dot)com>, Pavel Raiskup <praiskup(at)redhat(dot)com> |
Subject: | Re: [BUGS] Incorrect response code after XA recovery |
Date: | 2013-07-31 14:52:25 |
Message-ID: | 51F924A9.8010407@redhat.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-general pgsql-jdbc |
Hi pgjdbc,
The code change to fix the failing test case
(https://github.com/whitingjr/pgjdbc/tree/xa-not-found-testcase) is on
this branch...
https://github.com/whitingjr/pgjdbc/tree/handle-rollback-xid-not-found
By checking the SQLException.SQLState field the driver will now throw
an exception using XAER_NOTA as the reason. The SQLState being 42704
("undefined_object") error code as listed in
http://www.postgresql.org/docs/9.2/static/errcodes-appendix.html
Comments on the implementation are welcome though probably premature
because wider discussion has yet to happen for $subject.
Regards,
Jeremy
On 31/07/13 12:36, Jeremy Whiting wrote:
> 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
>>
>>
>
>
>
--
Jeremy Whiting
Senior Software Engineer, Performance Team
Red Hat
------------------------------------------------------------
Registered Address: Red Hat UK Ltd, 64 Baker Street, 4th Floor, London. W1U 7DF. United Kingdom.
Registered in England and Wales under Company Registration No. 03798903. Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson (USA), Charlie Peters (USA)
From | Date | Subject | |
---|---|---|---|
Next Message | Klaus Ita | 2013-07-31 14:59:50 | Re: Recovery_target_time misinterpreted? |
Previous Message | Jeremy Whiting | 2013-07-31 11:36:51 | Re: [BUGS] Incorrect response code after XA recovery |
From | Date | Subject | |
---|---|---|---|
Next Message | Klaus Ita | 2013-07-31 14:59:50 | Re: Recovery_target_time misinterpreted? |
Previous Message | Adrian Klaver | 2013-07-31 14:00:35 | Re: Postgres 9.2.4 for Windows (Vista) Dell Vostro 400, re-installation failure PLEASE CAN SOMEONE HELP!! |
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2013-08-01 11:13:08 | Re: getArrayImpl function |
Previous Message | mephysto | 2013-07-31 14:34:45 | getArrayImpl function |