[jboss-jira] [JBoss JIRA] (WFLY-13632) If a CMR resource is deployed concurrently then it will overwrite the list of resources that are expected to behave as CMR

Thomas Jenkinson (Jira) issues at jboss.org
Tue Jul 7 04:57:43 EDT 2020


    [ https://issues.redhat.com/browse/WFLY-13632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14203128#comment-14203128 ] 

Thomas Jenkinson commented on WFLY-13632:
-----------------------------------------

Thanks [~brian.stansberry].

If we were to want to synchronize here, we would need to make sure effectively that the whole method was synchronized on the bean. That is because pairs like https://github.com/wildfly/wildfly/blob/master/transactions/src/main/java/org/jboss/as/txn/service/CMResourceService.java#L63 and https://github.com/wildfly/wildfly/blob/master/transactions/src/main/java/org/jboss/as/txn/service/CMResourceService.java#L73 need to be locked, the same for the similar interactions on the jtaEnvironmentBean maps. That said, synchronization could fix this issue but we would still have https://issues.redhat.com/browse/WFLY-13633

/cc [~mmusgrov] [~ochaloup]

> If a CMR resource is deployed concurrently then it will overwrite the list of resources that are expected to behave as CMR
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WFLY-13632
>                 URL: https://issues.redhat.com/browse/WFLY-13632
>             Project: WildFly
>          Issue Type: Bug
>          Components: Transactions
>            Reporter: Thomas Jenkinson
>            Assignee: Michael Musgrove
>            Priority: Blocker
>
> Inspecting https://github.com/wildfly/wildfly/blob/master/transactions/src/main/java/org/jboss/as/txn/service/CMResourceService.java#L73 we can see that it will overwrite the map in https://github.com/jbosstm/narayana/blob/48818111d12d2e51b52082a00bcb606040c36546/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java#L1111 because it first get's a copy of a map (https://github.com/wildfly/wildfly/blob/master/transactions/src/main/java/org/jboss/as/txn/service/CMResourceService.java#L63 -> https://github.com/jbosstm/narayana/blob/48818111d12d2e51b52082a00bcb606040c36546/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java#L1089) so the maps won't be equal.
> This will result in WildFly overwriting the list of resources that Narayana will treat as CMR.



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list