UserTransactionSessionImpl is not thread safe
---------------------------------------------
Key: JBAS-5948
URL:
https://jira.jboss.org/jira/browse/JBAS-5948
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Transaction Manager (JBossTM)
Affects Versions: JBossAS-4.2.3.GA, JBossAS-5.0.0.CR1
Reporter: Galder Zamarreno
Assignee: Galder Zamarreno
Fix For: JBossAS-5.0.0.CR2, JBossAS-4.2.4.GA
First of all, static TransactionManager check and assignment is not synchronised.
Secondly, WeakValueHashMap activeTx underneath is a HashMap and hence not thread safe.
During load testing, seems like transactions were disappearing from activeTx for the same
reason that transactions were dissapearing from txFailoverAuthorization map which is due
to
lack of synchronisation. This map will now become a Collections.synchronizedMap(new
WeakValueHashMap());
Finally, in spite of making activeTx map a synchronised map, we still need to synchronise
on
activeTx in unreferenced() method as a putIfAbsent type of operation if executed.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira