You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Scott Chen (JIRA)" <ji...@apache.org> on 2010/08/21 05:52:17 UTC

[jira] Commented: (MAPREDUCE-2026) JobTracker.getJobCounters() should not hold JobTracker lock while calling JobInProgress.getCounters()

    [ https://issues.apache.org/jira/browse/MAPREDUCE-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12900970#action_12900970 ] 

Scott Chen commented on MAPREDUCE-2026:
---------------------------------------

In the jstacks we have taken on our cluster, 20% of the jobtracker lock is taken by getJobCounters().
So this should improve the performance a lot.

> JobTracker.getJobCounters() should not hold JobTracker lock while calling JobInProgress.getCounters()
> -----------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-2026
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2026
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>            Reporter: Scott Chen
>            Assignee: Scott Chen
>             Fix For: 0.22.0
>
>
> JobTracker.getJobCounter() will lock JobTracker and call JobInProgress.getCounters().
> JobInProgress.getCounters() can be very expensive because it aggregates all the task counters.
> We found that from the JobTracker jstacks that this method is one of the bottleneck of the JobTracker performance.
> JobInProgress.getCounters() should be able to be called out side the JobTracker lock because it already has JobInProgress lock.
> For example, it is used by jobdetails.jsp without a JobTracker lock.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.