[jbossts-issues] [JBoss JIRA] (JBTM-2770) Xids that relate to an CMR that has been recovered are rolledback even if the CMR committed

Tom Jenkinson (JIRA) issues at jboss.org
Fri Oct 28 12:22:00 EDT 2016


     [ https://issues.jboss.org/browse/JBTM-2770?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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)


More information about the jbossts-issues mailing list