[
https://issues.apache.org/jira/browse/QPID-7977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Keith Wall updated QPID-7977:
-----------------------------
Priority: Minor (was: Major)
> [Java Broker] [HA] Direct memory leak possible when mastership is lost
> ----------------------------------------------------------------------
>
> Key: QPID-7977
> URL: https://issues.apache.org/jira/browse/QPID-7977
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: qpid-java-6.0, qpid-java-6.1, qpid-java-broker-7.0.0
> Reporter: Keith Wall
> Priority: Minor
>
> During the work of QPID-7832, it was noticed that there is a potential for
> the direct memory used for uncommitted messages to be leaked when a node
> loses the mastership.
> The test that exposed the direct leak is:
> {{org.apache.qpid.server.store.berkeleydb.replication.MultiNodeTest#testLossOfMasterNodeCausesClientToFailover}}
> I think the problem is this. When mastership is lost, the underlying
> database operations that occur after fail. One possible place this can occur
> is the is the rolling back open transactions. The rollback causes the store
> to try and remove the messages
> {{org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore.StoredBDBMessage#remove}}.
> The underlying database operation fails on line
> {{org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java:1085}}.
> This prevents the direct memory associated with the messages from being
> released. One possible fix is a simple try/finally. There might be other
> places that need similar attention.
> The operation of the group is unaffected, and there is no message loss. The
> JVM should eventually release the direct memory itself.
> The non-HA use-case is unaffected.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]