[
https://jira.jboss.org/browse/JBAS-8124?page=com.atlassian.jira.plugin.sy...
]
Adrian Brock commented on JBAS-8124:
------------------------------------
I see the problem, but your fix, as I understand it, is not correct,
or at least it wouldn't solve the issue.
It needs something (probably) in Connection::sessionClosing()
that invokes a new method on SpyXAResourceManager to remove
the xid from the "transactions" map (if the session has a SpyXAResource).
Memory Leak in JBossMQ with 2PC QueueSessions
---------------------------------------------
Key: JBAS-8124
URL:
https://jira.jboss.org/browse/JBAS-8124
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JMS (JBossMQ)
Affects Versions: JBossAS-4.2.3.GA
Reporter: Rico Neubauer
Assignee: Adrian Brock
Attachments: JBAS-8124.diff, MAT.png
JBossMQ has a memory leak, which has the same symptoms as reported for JBoss Messaging in
https://jira.jboss.org/browse/JBMESSAGING-638 and discussed in
http://community.jboss.org/thread/128250.
Problem is that when using a transacted QueueSession, when closing QueueSession#close
invokes QueueSession#internalRollback to clean-up any unacknowledged messages, but also
starts a new transaction, which is added to QueueConnection's SpyXAResourceProvider.
Since this transaction is never committed or rolled-back, it stays for the lifetime of
the QueueConnection, which can be like forever when cacheing the QueueConnection. Also see
"Steps to Reproduce"
Will attach MAT screenshot.
This occurs in JBossMQ of 4.2.3, but also 4.0.5 (and probably all 4.x)
I am aware of the EOL of JBoss 4.x, but will attach a proposed patch anyways.
Possible workarounds:
- Do not use transacted QueueSessions
- Close and nullify the QueueConnection from time to time to let GC clean-up the leaked
objects
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira