[
https://issues.apache.org/jira/browse/GEODE-6662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bruce Schuchardt resolved GEODE-6662.
-------------------------------------
Resolution: Fixed
Fix Version/s: 1.9.0
> NioPlainEngine.ensureWrappedCapacity does not return old buffer when
> allocating new one
> ---------------------------------------------------------------------------------------
>
> Key: GEODE-6662
> URL: https://issues.apache.org/jira/browse/GEODE-6662
> Project: Geode
> Issue Type: Bug
> Components: messaging
> Reporter: Darrel Schneider
> Priority: Major
> Fix For: 1.9.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> NioPlainEngine.ensureWrappedCapacity does not return old buffer when
> allocating new one.
> The problem is the last block of code that calls Buffers.acquireBuffer,
> copies the "oldBuffer" into it, but then does not return "oldBuffer". It
> should have called Buffers.releaseBuffer. These direct buffers can eventually
> get garbage collected but the reason we have a pool of direct buffers is that
> the jvm can be very slow about returning the direct, native, memory they use
> so this could cause an out of direct memory failure. It will also cause the
> stats maintained by Buffers tracking how much memory is allocated to never be
> decremented.
> It is possible that this block of code in ensureWrappedCapacity is dead code
> but it is hard to tell for sure.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)