Re: [GENERAL] Incorrect response code after XA recovery

From: Tom Jenkinson <tom(dot)jenkinson(at)redhat(dot)com>
To: Alban Hertroys <haramrae(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ondrej Chaloupka <ochaloup(at)redhat(dot)com>, pgsql-general(at)postgresql(dot)org, pgsql-bugs(at)postgresql(dot)org, Pavel Raiskup <praiskup(at)redhat(dot)com>
Subject: Re: [GENERAL] Incorrect response code after XA recovery
Date: 2013-07-30 13:25:31
Message-ID: 51F7BECB.5060508@redhat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-general pgsql-jdbc

Hi Alban,

I stripped down the code to a raw XA example using the latest postgres
driver available in maven central. It demonstrates that regardless of
what the codebase might suggest, it is certainly the case that postgres
is returning XAER_RMERR in the scenario where the resource manager no
longer knows about the Xid.

The code is available here:
https://github.com/tomjenkinson/xa-recovery/commit/944d45e86a91eacb9489843acfbf6a80f1b4b820

I hope that this helps,
Tom

On Mon 29 Jul 2013 18:52:31 BST, Alban Hertroys wrote:
> On Jul 29, 2013, at 16:57, Tom Jenkinson <tom(dot)jenkinson(at)redhat(dot)com> wrote:
>
>> Hi Tom,
>>
>> On Mon 29 Jul 2013 15:46:12 BST, Tom Lane wrote:
>>> Tom Jenkinson <tom(dot)jenkinson(at)redhat(dot)com> writes:
>>>> A little bit of information in the linked bugzilla report is that the
>>>> exception being returned has an XA error code of XAER_RMERR "An error
>>>> occurred in rolling back the transaction branch. The resource manager is
>>>> free to forget about the branch when returning this error so long as all
>>>> accessing threads of control have been notified of the branch’s state."
>>>
>>>> That does not sound right to me, wouldn't XAER_NOTA "The specified XID
>>>> is not known by the resource manager" be more accurate?
>>>
>>> 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.
>
>
> Looking at the error codes, it appears that it isn't even the Postgres JDBC driver returning that error, but the XA manager you're using, which is not a part of Postgres (nor is the JDBC driver, for that matter - that's a separate project).
>
> The errors you're quoting are from the XA manager and are about XA manager stuff. For all we know, the actual error appears to be occuring in the XA manager and not in Postgres. It's possible that the XA manager error is a result of an error that Postgres returned, but since the XA manager prints its own error message and not the original one, you'll need to uncover those error messages before we can help you with them.
>
> For all we know at this point, the error is with your XA manager, not with Postgres.
>
> If you want to be sure, grep the source of the JDBC driver for those error codes; I doubt you'll find them in there.
> Google was kind enough to point me here: http://jdbc.postgresql.org/development/git.html
>
> Alban Hertroys
> --
> If you can't see the forest for the trees,
> cut the trees and you'll find there is no forest.
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Gustavo Bacchin 2013-07-30 13:52:07 Ferramenta de Modelagem
Previous Message arun.rh 2013-07-30 12:25:51 BUG #8345: PostGre SQL database is crashing

Browse pgsql-general by date

  From Date Subject
Next Message Beena Emerson 2013-07-30 13:30:41 Re: Fwd: Trigger on VIEW not firing
Previous Message Beena Emerson 2013-07-30 13:11:06 Re: Fwd: Trigger on VIEW not firing

Browse pgsql-jdbc by date

  From Date Subject
Next Message Alvaro Herrera 2013-07-30 16:17:27 Re: [BUGS] Incorrect response code after XA recovery
Previous Message Dave Cramer 2013-07-30 08:26:23 Re: Website Redo Kick Off