JobTracker's processHeartbeat() should not call System.currentTimeMillis() 
everytime
------------------------------------------------------------------------------------

                 Key: HADOOP-3524
                 URL: https://issues.apache.org/jira/browse/HADOOP-3524
             Project: Hadoop Core
          Issue Type: Improvement
          Components: mapred
            Reporter: Amar Kamat


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.

Reply via email to