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)

Reply via email to