Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-6179

RecordQueue.clear() does not clear MinTimestampTracker's maintained list

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.10.2.1, 0.11.0.1, 1.0.0
    • 0.11.0.2, 1.0.1, 1.1.0
    • streams
    • None

    Description

      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.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            guozhang Guozhang Wang
            guozhang Guozhang Wang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment