You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-dev@hadoop.apache.org by "Amar Kamat (JIRA)" <ji...@apache.org> on 2009/07/28 12:07:14 UTC

[jira] Resolved: (MAPREDUCE-325) JobTracker's processHeartbeat() should not call System.currentTimeMillis() everytime

     [ https://issues.apache.org/jira/browse/MAPREDUCE-325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Amar Kamat resolved MAPREDUCE-325.
----------------------------------

    Resolution: Won't Fix

> JobTracker's processHeartbeat() should not call System.currentTimeMillis() everytime
> ------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-325
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-325
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>            Reporter: Amar Kamat
>         Attachments: CurrentTimeCost.java
>
>
> Consider the following
> {code:title=JobTracker.java|borderStyle=solid}
> private synchronized boolean processHeartbeat(
>                                                 TaskTrackerStatus trackerStatus, boolean initialContact) {
>     String trackerName = trackerStatus.getTrackerName();
>     trackerStatus.setLastSeen(System.currentTimeMillis());
> {code}
> Here, the call to {{System.currentTimeMillis()}} on every call to {{JobTracker.processHeartbeat()}} might prove costly. While testing/benchmarking HADOOP-2119, we recorded that the JobTracker was able to serve ~130 tasks/sec. So that means we might make ~130 calls to {{System.currentTimeMillis()}} per second. I think in these cases (_last-seen-status_ etc) such a high level of accuracy in terms of timestamp is unnecessary and hence can be avoided.

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