[
https://jira.jboss.org/jira/browse/JBAS-5948?page=com.atlassian.jira.plug...
]
Galder Zamarreno commented on JBAS-5948:
----------------------------------------
Note that you can get a similar exception if you do a rollback() of
a user transaction whose begin() failed. In this case though, throwing
a "java.lang.IllegalStateException: No transaction." is legitimate and
it shows that you're using incorrect pattern of user transactions, see:
http://wiki.jboss.org/auth/wiki/WhatIsTheCorrectPatternForUserTransactions
To retiterate, the bug refers to "java.lang.IllegalStateException: No
transaction."
being thrown when you're calling commit() as a result of a successful transaction
or callling rollback() as a result of an exception except an exception in begin().
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-5.0.0.CR1, JBossAS-4.2.3.GA
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