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

Zhijie Shen commented on MAPREDUCE-5940:
----------------------------------------

Thanks for review, Junping and Devaraj.

bq. If System.currentTimeMillis() < started, then we can return -1 or 0 instead

IMHO, Times#elapsed is to computed the delta between two timestamps: started 
and finished. Given System.currentTimeMillis() < started <= finished, it still 
should be a valid case. To make sure the elapsed time should always be 
non-negative, we need to check started <= finished, and return -1 if not.

bq. (and log a warn that clock not getting synchronized)
bq. Adding a warning/info message before making it as 0 would help to 
diagnose/find out the issues if any.
bq. Also adding a test in TestTimes.java could be a good idea.

Sounds a good idea. Will address it in the new patch.

In addition, add a code comment to explicitly declare the behavior of 
Times#elapsed

> Avoid negative elapsed time in JHS/MRAM web UI and services
> -----------------------------------------------------------
>
>                 Key: MAPREDUCE-5940
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5940
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobhistoryserver, mr-am, webapps
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>         Attachments: MAPREDUCE-5940.1.patch, MAPREDUCE-5940.2.patch
>
>
> Recently we observed a rare bug that an elapsed time of a reducer is going to 
> be negative on JHS web UI and via REST APIs. While the real reason for this 
> bug seems to be clock asynchronization on different hosts, the web frontend 
> should have masked the negative values. However, in the current code, 
> *org.apache.hadoop.mapreduce.v2.app.webapp.dao.** only check whether the 
> elapsed time is -1 or not.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to