Darrel Schneider created GEODE-6662:
---------------------------------------
Summary: 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
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)