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

Haibo Chen commented on YARN-7088:
----------------------------------

Thanks [~kanwaljeets] for the patch! I have a few questions/comments around the 
core state machine changes you've made in this patch.

1)  
{code:java}
 private static final class AppRunningOnAppAttemptLaunchTransition
      extends  RMAppTransition {
    @Override
    public void transition(RMAppImpl app, RMAppEvent event) {
      LOG.info("update the launch time");
      if(app.launchTime == 0) {
        app.launchTime = System.currentTimeMillis();
      }
    }
  }{code}
We are generating the timestamp when RMAppImpl is notified of the launch. But 
the correct timestamp should come from RMAppAttemptEventType.LAUNCHED that is 
generated by AMLauncher. If the event dispatch thread is falling back, there 
could be a large gap between when RMAppImpl is notified and when the attempt is 
actually launched.

2) I see two transitions are added to RMAPPImpl state machine, namely ACCEPTED 
--> ACCEPTED and RUNNING --> RUNNING upon the new 
RMAppEventType.ATTEMPT_LAUNCHED. However, I could not think of the possibility 
of receiving a ATTEMPT_LAUNCHED event while the state machine is in RUNNING 
state. Can you please elaborate a little more on that?

3) Some minor comments: there is an unused variable you added in 
AMLaunchedTransition; the log in AppRunningOnAppAttemptLaunchTransition  is too 
generic. Can we add application id, attempt id and the timestamp?;

The change in 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/server/application_history_server.proto
 is unnecessary as you have decided not to change for ATS (all versions). 

The schedulingWaitTime in AppInfo is misleading if one application has multiple 
attempts. Because the launch time is updated everytime a new attempt is 
launched, we can rename it to the launch time of the latest attempt. If there 
are mutiple attempts, the running time of previous attempts would be counted as 
schedulingwait time, which is not correct.

> Fix application start time and add submit time to UIs
> -----------------------------------------------------
>
>                 Key: YARN-7088
>                 URL: https://issues.apache.org/jira/browse/YARN-7088
>             Project: Hadoop YARN
>          Issue Type: Bug
>    Affects Versions: 3.0.0-alpha4
>            Reporter: Abdullah Yousufi
>            Assignee: Kanwaljeet Sachdev
>            Priority: Major
>         Attachments: YARN-7088.001.patch, YARN-7088.002.patch, 
> YARN-7088.003.patch, YARN-7088.004.patch, YARN-7088.005.patch, 
> YARN-7088.006.patch, YARN-7088.007.patch, YARN-7088.008.patch, 
> YARN-7088.009.patch, YARN-7088.010.patch, YARN-7088.011.patch, 
> YARN-7088.012.patch, YARN-7088.013.patch, YARN-7088.014.patch
>
>
> Currently, the start time in the old and new UI actually shows the app 
> submission time. There should actually be two different fields; one for the 
> app's submission and one for its start, as well as the elapsed pending time 
> between the two.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to