[
http://jira.jboss.com/jira/browse/JBMESSAGING-545?page=all ]
Clebert Suconic reassigned JBMESSAGING-545:
-------------------------------------------
Assignee: Clebert Suconic (was: Ovidiu Feodorov)
Transaction edge cases and memory leak
--------------------------------------
Key: JBMESSAGING-545
URL:
http://jira.jboss.com/jira/browse/JBMESSAGING-545
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.0.1.CR4
Reporter: Tim Fox
Assigned To: Clebert Suconic
Priority: Blocker
Fix For: 1.0.1.CR5
There is currently a memory leak in transaction repository since a 2pc transaction branch
object is never removed from the repository even on successfully commit or rollback of the
transaction.
We should add code at the end of the Transaction::commit() and Transaction::rollback()
methods to remove the transaction from the map (it will only be in the map if it is two
phase).
We do not want to remove the transaction from the map if commit or rollback fails - this
is because the transaction manager might retry the commit or rollback.
Moreover, it is possible the transaction commits correctly on the server side but the
invocation fails before it returns to the transaction manager causing the manager to think
the branch failed to commit when in fact it did commit.
In this case the manager may retry the commit, but we will have no record of the branch.
Therefore if we receive commits for transactions we know nothing about we should return
success.
--
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