[
https://issues.apache.org/jira/browse/QPID-7783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Keith Wall updated QPID-7783:
-----------------------------
Description:
If I close a virtualhost (either via management or owing to a change of HA
mastership), the QBBs that hold message header and payload don't get released.
The QBBs won't fall back into the pool and the JVMs will have to reclaim the
direct memory (which it does inefficiently).
On trunk, this causes the value returned by
{{QBB.getNumberOfActivePooledBuffers()}} to be incorrect. This value is used
to determine when to flow to disk, to this would cause flow to disk to be more
frequent than it needs.
This problem does exist on 6.0/6.1, but is not particular impactful. The
garbage collector will eventually collect the QBBs associated with the
messages. As the recovery paths uses heap byte buffers: messages recovered by
it are not affected by this problem.
was:
If I close a virtualhost (either via management or owing to a change of HA
mastership), the QBBs that hold message header and payload don't get released.
The QBBs won't fall back into the pool and the JVMs will have to reclaim the
direct memory (which it does inefficiently).
Furthermore on master QBB.getNumberOfActivePooledBuffers() will be incorrect
and the will cause Qpid to incorrectly calculate the amount of direct memory
it uses. This will cause it to flow to disk more than it needs.
> Closing a virtualhost does not dispose QBBs associated with messages on queues
> ------------------------------------------------------------------------------
>
> Key: QPID-7783
> URL: https://issues.apache.org/jira/browse/QPID-7783
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: qpid-java-6.0, qpid-java-6.0.6, qpid-java-6.1,
> qpid-java-6.1.2
> Reporter: Keith Wall
> Fix For: qpid-java-broker-7.0.0
>
>
> If I close a virtualhost (either via management or owing to a change of HA
> mastership), the QBBs that hold message header and payload don't get
> released. The QBBs won't fall back into the pool and the JVMs will have to
> reclaim the direct memory (which it does inefficiently).
> On trunk, this causes the value returned by
> {{QBB.getNumberOfActivePooledBuffers()}} to be incorrect. This value is
> used to determine when to flow to disk, to this would cause flow to disk to
> be more frequent than it needs.
> This problem does exist on 6.0/6.1, but is not particular impactful. The
> garbage collector will eventually collect the QBBs associated with the
> messages. As the recovery paths uses heap byte buffers: messages recovered
> by it are not affected by this problem.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]