activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Santos (JIRA)" <>
Subject [jira] Created: (AMQ-2556) Memory leaks with XA Transactions (case of read-only transactions)
Date Mon, 04 Jan 2010 14:02:15 GMT
Memory leaks with XA Transactions (case of read-only transactions)

                 Key: AMQ-2556
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker, JMS client
    Affects Versions: 5.3.0, 5.2.0, 5.1.0
         Environment: ActiveMQ 5.3.0
Atomikos Transactions Essentials 3.5.8
Spring 2.5.6
Oracle 11g (thin driver version

            Reporter: Daniel Santos

Some transaction related information are not released in case of read-only transactions (where
not messages have been consumed or produced) by broker and client, that causes an OutOfMemory
after running some time.

Fields that hold these "transaction related information" are (at least) :
- {{org.apache.activemq.state.ConnectionState.transactions}}
- {{org.apache.activemq.TransactionContext.ENDED_XA_TRANSACTION_CONTEXTS}}

After serach, it seems that the case of read-only XA transactions (that terminates at prepare
time) has been missed in some code like :
- {{}} that puts TransactionState in {{org.apache.activemq.state.ConnectionState.transactions}}
at the beginning, release them at commit (or rollback) time *but not at prepare time where
result is {{XAResource.XA_RDONLY}}*
- {{org.apache.activemq.TransactionContext}} that do the same mistake via ENDED_XA_TRANSACTION_CONTEXTS
in prepare()

_Note that the case of read-only transactions seems correctly done by {{org.apache.activemq.transaction.XATransaction}}
(very interesting comment here

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message