Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Won't Fix
-
1.5.0
-
None
Description
PartitionRequestClientHandler#stagedMessages may be accessed from multiple threads:
1) Netty's IO thread
2) During cancellation, PartitionRequestClientHandler.BufferListenerTask#notifyBufferDestroyed is called
If PartitionRequestClientHandler.BufferListenerTask#notifyBufferDestroyed thinks, stagesMessages is empty, however, it will not install the stagedMessagesHandler that consumes and releases buffers from received messages.
Unless some unexpected combination of code calls prevents this from happening, this would leak the non-recycled buffers.