[ https://issues.apache.org/jira/browse/KAFKA-6179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16241331#comment-16241331 ]
ASF GitHub Bot commented on KAFKA-6179: --------------------------------------- GitHub user guozhangwang opened a pull request: https://github.com/apache/kafka/pull/4186 [WIP] KAFKA-6179: Clear min timestamp tracker upon partition queue cleanup You can merge this pull request into a Git repository by running: $ git pull https://github.com/guozhangwang/kafka K6179-cleanup-timestamp-tracker-on-clear Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/4186.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4186 ---- commit c92eaa566334e8fe6f20a37f7196db807c4b01b2 Author: Guozhang Wang <wangg...@gmail.com> Date: 2017-11-07T01:46:14Z clear min timestamp tracker upon partition queue cleanup ---- > RecordQueue.clear() does not clear MinTimestampTracker's maintained list > ------------------------------------------------------------------------ > > Key: KAFKA-6179 > URL: https://issues.apache.org/jira/browse/KAFKA-6179 > Project: Kafka > Issue Type: Bug > Components: streams > Affects Versions: 0.10.2.1, 0.11.0.1, 1.0.0 > Reporter: Guozhang Wang > Assignee: Guozhang Wang > > When a stream task is being suspended, in {{RecordQueue.clear()}} we will > clear the {{ArrayDeque fifoQueue}}, but we do not clear the > {{MinTimestampTracker}}'s maintained list. As a result if the task gets > resumed we will live with an empty {{fifoQueue}} while a populated > {{tracker}}. And hence we use reference equality to check if the smallest > timestamp record can be popped, we would never be able to pop any more > records and hence effectively leading to memory leak. -- This message was sent by Atlassian JIRA (v6.4.14#64029)