|
@@ -32,8 +32,10 @@ import org.apache.hadoop.security.UserGroupInformation;
|
|
|
import org.apache.hadoop.util.StringUtils;
|
|
|
import org.apache.hadoop.yarn.api.records.ApplicationAccessType;
|
|
|
import org.apache.hadoop.yarn.api.records.ApplicationId;
|
|
|
+import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
|
|
|
import org.apache.hadoop.yarn.api.records.QueueACL;
|
|
|
import org.apache.hadoop.yarn.api.records.Resource;
|
|
|
+import org.apache.hadoop.yarn.api.records.YarnApplicationState;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp;
|
|
@@ -131,8 +133,9 @@ public class AppBlock extends HtmlBlock {
|
|
|
._("Name:", app.getName())
|
|
|
._("Application Type:", app.getApplicationType())
|
|
|
._("Application Tags:", app.getApplicationTags())
|
|
|
- ._("State:", app.getState())
|
|
|
- ._("FinalStatus:", app.getFinalStatus())
|
|
|
+ ._("YarnApplicationState:", clarifyAppState(app.getState()))
|
|
|
+ ._("FinalStatus reported by AM:",
|
|
|
+ clairfyAppFinalStatus(app.getFinalStatus()))
|
|
|
._("Started:", Times.format(app.getStartTime()))
|
|
|
._("Elapsed:",
|
|
|
StringUtils.formatTime(Times.elapsed(app.getStartTime(),
|
|
@@ -198,4 +201,30 @@ public class AppBlock extends HtmlBlock {
|
|
|
table._();
|
|
|
div._();
|
|
|
}
|
|
|
+
|
|
|
+ private String clarifyAppState(YarnApplicationState state) {
|
|
|
+ String ret = state.toString();
|
|
|
+ switch (state) {
|
|
|
+ case NEW:
|
|
|
+ return ret + ": waiting for application to be initialized";
|
|
|
+ case NEW_SAVING:
|
|
|
+ return ret + ": waiting for application to be persisted in state-store.";
|
|
|
+ case SUBMITTED:
|
|
|
+ return ret + ": waiting for application to be accepted by scheduler.";
|
|
|
+ case ACCEPTED:
|
|
|
+ return ret + ": waiting for AM container to be allocated, launched and"
|
|
|
+ + " register with RM.";
|
|
|
+ case RUNNING:
|
|
|
+ return ret + ": AM has registered with RM and started running.";
|
|
|
+ default:
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private String clairfyAppFinalStatus(FinalApplicationStatus status) {
|
|
|
+ if (status == FinalApplicationStatus.UNDEFINED) {
|
|
|
+ return "Application has not completed yet.";
|
|
|
+ }
|
|
|
+ return status.toString();
|
|
|
+ }
|
|
|
}
|