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

Liyin Liang commented on MAPREDUCE-2026:
----------------------------------------

Hi Joydeep, your patch moved incrementTaskCounters out of lock of JobInProgress 
in function getCounters(). Should we do the same thing to function 
getMapCounters() and getReduceCounters()?

> 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: Joydeep Sen Sarma
>             Fix For: 0.22.0
>
>         Attachments: 2026.1.patch, MAPREDUCE-2026.txt
>
>
> 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.

Reply via email to