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

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

bq. Or what if we launch a separate thread to do counters compute?

We also thought about this idea of updating counters in a background thread.
I just created MAPREDUCE-2131 for it.

> 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