[ 
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)

Reply via email to