[
https://issues.jboss.org/browse/JBJCA-1244?page=com.atlassian.jira.plugin...
]
Tom Jenkinson edited comment on JBJCA-1244 at 1/15/15 12:33 PM:
----------------------------------------------------------------
I have produced a patch that can handle this case for all JDBC resource adapters that are
compliant with the SQL States in the SQL specification:
http://pubs.opengroup.org/onlinepubs/9695959099/toc.pdf:
https://github.com/tomjenkinson/ironjacamar/compare/ironjacamar:1.0...tom...
(EDIT removed reference to specific commit)
was (Author: tomjenkinson):
I have produced a patch that can handle this case for all JDBC resource adapters that are
compliant with the SQL States in the SQL specification:
http://pubs.opengroup.org/onlinepubs/9695959099/toc.pdf:
https://github.com/tomjenkinson/ironjacamar/compare/ironjacamar:1.0...tom...
Specifically it is commit:
https://github.com/tomjenkinson/ironjacamar/commit/de0d740ad1aec305d97049...
LocalXAResourceImpl returns RBROLLBACK in certain scenarios which
violate the XA specification
----------------------------------------------------------------------------------------------
Key: JBJCA-1244
URL:
https://issues.jboss.org/browse/JBJCA-1244
Project: IronJacamar
Issue Type: Bug
Affects Versions: 1.0.30.Final
Reporter: Tom Jenkinson
Assignee: Jesper Pedersen
The XA specification states the following about the RBROLLBACK error code for
xa_commit():
{quote}
[XA_RB∗]
The resource manager did not commit the work done on behalf of the transaction branch.
Upon return, the resource manager has rolled back the branch’s work and has released all
held resources. These values may be returned only if TMONEPHASE is set in flags:
[XA_RBROLLBACK]
The resource manager rolled back the transaction branch for an unspecified reason
{quote}
It is clear that the RBROLLBACK code may only be returned if the branch is known to have
rolled back (and indeed if the onePhase flag is set to true).
To cater for scenarios where the XAResource is not able to determine the outcome of the
resource managers commit. In those scenarios the XA specification is clear that the only
legal error code to return is:
{quote}
[XAER_RMFAIL]
An error occurred that makes the resource manager unavailable.
{quote}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)