[
http://jira.jboss.com/jira/browse/JBTM-352?page=comments#action_12405454 ]
Andrew Dinn commented on JBTM-352:
----------------------------------
Yes, this will work but
i) it misses another issue -- when the OTSManager only has a non-local Control it passes
the Control to remove() which is bound not to work
ii) it will still suck -- not only will the iteration take a long time it will also block
concurrent transaction inserts/removes from other threads while it is running so kiss
throughput goodbye
I have a proper fix which I still need to test. I'll attach the 2 files you need if
you want to try it.
Memory leak in TransactionReaper._timeouts
------------------------------------------
Key: JBTM-352
URL:
http://jira.jboss.com/jira/browse/JBTM-352
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Transaction Core
Affects Versions: 4.3.0.GA
Environment: Compiled 4.3.0.GA for the EAP 4.3 as JTS according to the
instructions (by setting JBOSS_HOME to jboss-5.0.0.Beta4) on RHEL4.
Run ~ 1500 JMS transactions in EAP 4.3 all configuration on RHEL4 to see it leaks.
Used Sun jdk 1.5.0.14
Reporter: Ivan Szanto
Assigned To: Andrew Dinn
Fix For: 4.4.CR1
Attachments: TransactionReaper.java, TransactionReaper.zip
The leak can also be seen by using the debugger to check the number of entries in
TransactionReaper._timeouts after a couple of transactions.
It appears that the TransactionReaper.insert method uses ControlWrapper objects as keys
when putting elements into the hashtable, but the TransactionReaper.remove method
sometimes unsuccessfully tries to use Uid ojbects to remove them.
I will post a corrected version of TransactionReaper.java.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira