Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Feedback Received
-
0.56.0
-
None
-
java - 11
qpid-jms-client - 0.56.0
netty - 4.1.65.Final
Description
- We are using JMS to send and receive messages from queue asynchronously
- We have observed a high heap memory usage by io.netty.buffer.PoolChunk - (heap dump: screenshot attached 1)
- These PoolChunks are allocated during creation of a connection to the queue -
- From stacktrace(screenshot attached 2) - when we invoke jmsConnectionFactory.createConnection()
internally the call goes to FailoverProvider -> AmqpProvider, which invokes ByteBufferUtil to create PooledByteBuffer - These buffers are created on the heap memory (io.netty.buffer.PoolChunk of 16 MB)
- From stacktrace(screenshot attached 2) - when we invoke jmsConnectionFactory.createConnection()
- These PooledByteBuffer are not released from the heap memory even after the connection is closed. Due to which, the memory usage has increased.
For more details - please go through this issue: Increased memory footprint in 4.1.43.Final · Issue #9768 · netty/netty (github.com)