You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Daniel Templeton (JIRA)" <ji...@apache.org> on 2016/06/06 22:09:21 UTC

[jira] [Commented] (MAPREDUCE-6542) HistoryViewer use SimpleDateFormat,But SimpleDateFormat is not threadsafe

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

Daniel Templeton commented on MAPREDUCE-6542:
---------------------------------------------

Thanks for the updated patch, [~piaoyu zhang].  I see two little things to consider correcting.  First:

{code}
          String formattedTime1 = StringUtils.getFormattedTimeWithDiff(fastDateFormat, +start, end);
          String formattedTime2 = StringUtils.getFormattedTimeWithDiff(fastDateFormat, +start, end);
{code}

The unary plus operator is superfluous here.  (Is it ever not superfluous?)  Since {{start}} is a long, the + has no effect.

Also:

{code}
  final private static FastDateFormat fastDateFormat =
      FastDateFormat.getInstance("d-MMM-yyyy HH:mm:ss");
{code}

should probably be:

{code}
  final private static FastDateFormat FAST_DATE_FORMAT =
      FastDateFormat.getInstance("d-MMM-yyyy HH:mm:ss");
{code}

Similar for:

{code}
  private final FastDateFormat dateFormat;
{code}

> HistoryViewer use SimpleDateFormat,But SimpleDateFormat is not threadsafe
> -------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-6542
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6542
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobhistoryserver
>    Affects Versions: 2.2.0, 2.7.1
>         Environment: CentOS6.5 Hadoop  
>            Reporter: zhangyubiao
>            Assignee: zhangyubiao
>         Attachments: MAPREDUCE-6542-v10.patch, MAPREDUCE-6542-v11.patch, MAPREDUCE-6542-v12.patch, MAPREDUCE-6542-v2.patch, MAPREDUCE-6542-v3.patch, MAPREDUCE-6542-v4.patch, MAPREDUCE-6542-v5.patch, MAPREDUCE-6542-v6.patch, MAPREDUCE-6542-v7.patch, MAPREDUCE-6542-v8.patch, MAPREDUCE-6542-v9.patch, MAPREDUCE-6542.patch
>
>
> I use SimpleDateFormat to Parse the JobHistory File before 
> {code}
> private static final SimpleDateFormat dateFormat =
>     new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
>  public static String getJobDetail(JobInfo job) {
>         StringBuffer jobDetails = new StringBuffer("");
>         SummarizedJob ts = new SummarizedJob(job);
>         jobDetails.append(job.getJobId().toString().trim()).append("\t");
>         jobDetails.append(job.getUsername()).append("\t");
>         jobDetails.append(job.getJobname().replaceAll("\\n", "")).append("\t");
>         jobDetails.append(job.getJobQueueName()).append("\t");
>         jobDetails.append(job.getPriority()).append("\t");
>         jobDetails.append(job.getJobConfPath()).append("\t");
>         jobDetails.append(job.getUberized()).append("\t");
>         jobDetails.append(dateFormat.format(job.getSubmitTime())).append("\t");
>         jobDetails.append(dateFormat.format(job.getLaunchTime())).append("\t");
>         jobDetails.append(dateFormat.format(job.getFinishTime())).append("\t");
>        return jobDetails.toString();
> }
> {code}
> But I find I query the SubmitTime and LaunchTime in hive and compare JobHistory File time , I find that the submitTime  and launchTime was wrong.
> Finally,I change to use the FastDateFormat to parse the time format and the time become right



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-help@hadoop.apache.org