Hello Everyone, I was just browsing through the code while doing my Vectored IO stuff. It seems like ElasticByteBufferPool is an ever growing pool and memory is not getting released as there is no WeakReference being maintained in the pool. This can cause memory leaks in the production environment. This is widely used in places like StripedReconstructor, DFSStripedInputStream, BlockBlobAppendStream etc.
I would suggest we use DirectBufferPool class for direct buffer pooling as it already is keeping WeakReference for the buffers. Although, we will have to make this implement the ByteBufferPool interface and implement the corresponding methods. Happy to make the API changes once finalized. Thanks, Mukund