[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