[
https://issues.jboss.org/browse/JBTM-2770?page=com.atlassian.jira.plugin....
]
Tom Jenkinson updated JBTM-2770:
--------------------------------
Description: During recovery the CMR orphan detection checks to make sure that there
is not an indoubt transaction that pertains to the CMR before deciding if an Xid is an
orphan. Actually the check should also see if the transaction committed. (was: I found
another regression (besides JBEAP-6326) for behavior of CMR datasource which came with DR6
(Narayana 5.3.5.Final) and is regression against DR5 (5.3.3.Final)
The scenario which I run is following
{quote}
* enlist test xa resource
* enlist cmr db resource
* prepare cmr db resource
* prepare test xa resource
* commit cmr db resource
* crash app server
* start server and halt connection to DB
* do recovery of test xa resource which is expected being committed
{quote}
What happens is that the second resource (test XA resource) is not committed but is
rolled-back. By my investigation I think that the regression came from changes under
{{com.arjuna.ats.internal.jta.recovery.arjunacore#getNewXAResource(Xid xid)}} (but
it's only observation and it could be wrong interpretation).
In log the rollback could be seen being caused by {{JTANodeNameXAResourceOrphanFilter}}
which votes for rollback.
{code}
2016-10-06 17:59:19,552 DEBUG [com.arjuna.ats.jta] (Periodic Recovery) node name of <
formatId=131077, gtrid_length=29, bqual_length=36,
tx_uid=0:ffff7f000001:4302bcff:57f67425:2a, node_name=1,
branch_uid=0:ffff7f000001:4302bcff:57f67425:2f, subordinatenodename=null,
eis_name=java:/TestXAResource > is 12016-10-06 17:59:19,552 DEBUG [com.arjuna.ats.jta]
(Periodic Recovery) XAResourceOrphanFilter
com.arjuna.ats.internal.jta.recovery.arjunacore.JTANodeNameXAResourceOrphanFilter voted
ROLLBACK
{code})
Xids that relate to an CMR that has been recovered are rolledback
even if the CMR committed
-------------------------------------------------------------------------------------------
Key: JBTM-2770
URL:
https://issues.jboss.org/browse/JBTM-2770
Project: JBoss Transaction Manager
Issue Type: Bug
Affects Versions: 5.3.5.Final
Reporter: Ondra Chaloupka
Assignee: Tom Jenkinson
Priority: Blocker
Fix For: 5.next
During recovery the CMR orphan detection checks to make sure that there is not an indoubt
transaction that pertains to the CMR before deciding if an Xid is an orphan. Actually the
check should also see if the transaction committed.
--
This message was sent by Atlassian JIRA
(v7.2.2#72004)