-
Bug
-
Resolution: Done
-
Blocker
-
7.1.0.DR5
-
None
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
- 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
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.
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
- is blocked by
-
JBTM-2770 Xids that relate to an CMR that has been recovered are rolledback even if the CMR committed
- Closed
-
JBEAP-7020 Upgrade Narayana to 5.4.0.Final
- Closed