[jboss-jira] [JBoss JIRA] (JBJCA-1336) Wrong handling of XAResource wrapping with XAResourceWrapperStatImpl

Ondra Chaloupka (JIRA) issues at jboss.org
Thu Dec 8 08:15:01 EST 2016


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

Ondra Chaloupka updated JBJCA-1336:
-----------------------------------
    Attachment: JMSCrashRecoveryTestCase_commitHaltAtPhaseEnd_jta_server_ij-1.3.5_710.DR8.log
                JMSCrashRecoveryTestCase_commitHaltAtPhaseEnd_jta_server_ij-1.4.0_710.DR9.log


> Wrong handling of XAResource wrapping with XAResourceWrapperStatImpl
> --------------------------------------------------------------------
>
>                 Key: JBJCA-1336
>                 URL: https://issues.jboss.org/browse/JBJCA-1336
>             Project: IronJacamar
>          Issue Type: Bug
>            Reporter: Ondra Chaloupka
>            Assignee: Stefano Maestri
>            Priority: Blocker
>         Attachments: JMSCrashRecoveryTestCase_commitHaltAtPhaseEnd_jta_server_ij-1.3.5_710.DR8.log, JMSCrashRecoveryTestCase_commitHaltAtPhaseEnd_jta_server_ij-1.4.0_710.DR9.log
>
>
> IronJacamar 1.4.0.Final came with {{XAResourceWrapperStatImpl}} which brings incompatibility of wrapping {{XAResource}} for transaction manager.
> This is regression against behavior of 7.0.0.GA.
> *Observed behavior*
> Transaction object store is not cleared in some cases when {{Artemis Active MQ}} is used as XADatasource. I think these are cases where functionality of JBTM-860 is used.
> *Probably cause*
> My observation came to fact that this is caused by change at {{core/src/main/java/org/jboss/jca/core/connectionmanager/tx/TxConnectionManagerImpl.java}} where wrapped {{XAResource}} is currently returned when {{com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord}} is created. The trouble is that AMQ {{XAResource}} implementation returns different jndiName than the wrapper one ({{java:/JmsXA}} vs. {{java:/JmsXA NodeId:2d77d48f-bd2b-11e6-b7e4-28d244b2cf29}}). This inconsistency causes trouble during recovery where method {{XAResourceRecord#wasResourceContactedByRecoveryModule}} is used to decide whether {{TwoPhaseOutcome.FINISH_OK}} or {{TwoPhaseOutcome.FINISH_ERROR}} is outcome of the periodic recovery commit action for particular participant.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list