Details
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
Issue Links
- links to