[
https://issues.apache.org/jira/browse/MAPREDUCE-6617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15122695#comment-15122695
]
Jason Lowe commented on MAPREDUCE-6617:
---------------------------------------
Could you elaborate more on the memory leak? The javadoc for the purge method
states:
{quote}
* <p>Most programs will have no need to call this method.
* It is designed for use by the rare application that cancels a large
* number of tasks. Calling this method trades time for space: the
* runtime of the method may be proportional to n + c log n, where n
* is the number of tasks in the queue and c is the number of cancelled
* tasks.
{quote}
I'm guessing the canceled timer tasks are reaped when they normally would
execute and the timer notices they've been marked cancelled. Is this a case
where we're queueing up tasks and canceling them faster than they normally
execute?
> flushTimer in JobHistoryEventHandler should purge canceled flushTimerTask
> -------------------------------------------------------------------------
>
> Key: MAPREDUCE-6617
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6617
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: mrv2
> Affects Versions: 3.0.0
> Reporter: Kousuke Saruta
> Assignee: Kousuke Saruta
> Attachments: MAPREDUCE-6617.0.patch
>
>
> In JobHistoryEventHandler, flushTask is not purged after it's canceled so GC
> never sweep flushTask.
> It can cause memory leak.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)