[
https://jira.jboss.org/jira/browse/JBTM-564?page=com.atlassian.jira.plugi...
]
Andrew Dinn closed JBTM-564.
----------------------------
Resolution: Done
modified wake ups to use notifyall and corrected shutdown code to wait on/notify the
correct objects. actually, notifyall is probably not necessary for the reaper thread as
there is only ever one thread but it does no harm to call it. calling notifyall is
necessary for the reaper worker thread as we create multiple instances of these.
TransactionReaper code is not waking up threads correctly
---------------------------------------------------------
Key: JBTM-564
URL:
https://jira.jboss.org/jira/browse/JBTM-564
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 4.6.1
Reporter: Andrew Dinn
Assignee: Andrew Dinn
Fix For: 4.6.1.CP01, 4.7.0
The code in TransactionReaper is using wait and notify to suspend and wake up threads
contending to add and remove transaction controls and to manage transfer of expired
controls between the main queue and the reaper worker queue. It should actually be calling
notifyAll() since notify() only wakes up one thread and multiple threads may be queued.
All occurences of calls to notify() need to be transformed to notifyAll().
--
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