This is an automated email from the ASF dual-hosted git repository.
prabhujoseph pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new aa5afa7 YARN-10381. Add application attempt state in AppAttempts RM
REST API
aa5afa7 is described below
commit aa5afa72c517f24f28189577dc611a51e4f3883b
Author: Prabhu Joseph <[email protected]>
AuthorDate: Tue Aug 4 23:01:05 2020 +0530
YARN-10381. Add application attempt state in AppAttempts RM REST API
Contributed by Siddharth Ahuja. Reviewed by Bilwa ST.
---
.../server/resourcemanager/webapp/dao/AppAttemptInfo.java | 7 +++++++
.../webapp/TestRMWebServicesAppAttempts.java | 13 +++++++++----
.../src/site/markdown/ResourceManagerRest.md | 5 ++++-
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppAttemptInfo.java
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppAttemptInfo.java
index b41dc6b..66381f4 100644
---
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppAttemptInfo.java
+++
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppAttemptInfo.java
@@ -26,6 +26,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.yarn.api.records.Container;
import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
import
org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttempt;
+import
org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptState;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler;
import
org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerApplicationAttempt;
import org.apache.hadoop.yarn.webapp.util.WebAppUtils;
@@ -45,6 +46,7 @@ public class AppAttemptInfo {
private String nodesBlacklistedBySystem;
protected String appAttemptId;
private String exportPorts;
+ private RMAppAttemptState appAttemptState;
public AppAttemptInfo() {
}
@@ -89,6 +91,7 @@ public class AppAttemptInfo {
}
}
this.appAttemptId = attempt.getAppAttemptId().toString();
+ this.appAttemptState = attempt.getAppAttemptState();
}
}
@@ -115,4 +118,8 @@ public class AppAttemptInfo {
public String getAppAttemptId() {
return this.appAttemptId;
}
+
+ public RMAppAttemptState getAppAttemptState() {
+ return this.appAttemptState;
+ }
}
diff --git
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppAttempts.java
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppAttempts.java
index ee6d018..df168f7 100644
---
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppAttempts.java
+++
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppAttempts.java
@@ -381,7 +381,8 @@ public class TestRMWebServicesAppAttempts extends
JerseyTestBase {
WebServicesTestUtils.getXmlString(element, "nodeHttpAddress"),
WebServicesTestUtils.getXmlString(element, "nodeId"),
WebServicesTestUtils.getXmlString(element, "logsLink"), user,
- WebServicesTestUtils.getXmlString(element, "exportPorts"));
+ WebServicesTestUtils.getXmlString(element, "exportPorts"),
+ WebServicesTestUtils.getXmlString(element, "appAttemptState"));
}
}
@@ -389,17 +390,19 @@ public class TestRMWebServicesAppAttempts extends
JerseyTestBase {
String user)
throws Exception {
- assertEquals("incorrect number of elements", 11, info.length());
+ assertEquals("incorrect number of elements", 12, info.length());
verifyAppAttemptInfoGeneric(appAttempt, info.getInt("id"),
info.getLong("startTime"), info.getString("containerId"),
info.getString("nodeHttpAddress"), info.getString("nodeId"),
- info.getString("logsLink"), user, info.getString("exportPorts"));
+ info.getString("logsLink"), user, info.getString("exportPorts"),
+ info.getString("appAttemptState"));
}
private void verifyAppAttemptInfoGeneric(RMAppAttempt appAttempt, int id,
long startTime, String containerId, String nodeHttpAddress, String
- nodeId, String logsLink, String user, String exportPorts) {
+ nodeId, String logsLink, String user, String exportPorts,
+ String appAttemptState) {
assertEquals("id doesn't match", appAttempt.getAppAttemptId()
.getAttemptId(), id);
@@ -415,5 +418,7 @@ public class TestRMWebServicesAppAttempts extends
JerseyTestBase {
assertTrue(
"logsLink doesn't contain user info", logsLink.endsWith("/"
+ user));
+ assertEquals("appAttemptState doesn't match", appAttemptState, appAttempt
+ .getAppAttemptState().toString());
}
}
diff --git
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md
index 879075e..375e69a 100644
---
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md
+++
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md
@@ -2265,6 +2265,7 @@ appAttempts:
| logsLink | string | The http link to the app attempt logs |
| containerId | string | The id of the container for the app attempt |
| startTime | long | The start time of the attempt (in ms since epoch) |
+| appAttemptState | string | The state of the application attempt - valid
values are members of the RMAppAttemptState enum: NEW, SUBMITTED, SCHEDULED,
ALLOCATED, LAUNCHED, FAILED, RUNNING, FINISHING, FINISHED, KILLED,
ALLOCATED_SAVING, LAUNCHED_UNMANAGED_SAVING, FINAL_SAVING |
### Response Examples
@@ -2293,7 +2294,8 @@ Response Body:
"startTime" : 1326381444693,
"id" : 1,
"logsLink" :
"http://host.domain.com:8042/node/containerlogs/container_1326821518301_0005_01_000001/user1",
- "containerId" : "container_1326821518301_0005_01_000001"
+ "containerId" : "container_1326821518301_0005_01_000001",
+ "appAttemptState" : "RUNNING"
}
]
}
@@ -2326,6 +2328,7 @@ Response Body:
<startTime>1326381444693</startTime>
<containerId>container_1326821518301_0005_01_000001</containerId>
<logsLink>http://host.domain.com:8042/node/containerlogs/container_1326821518301_0005_01_000001/user1</logsLink>
+ <appAttemptState>RUNNING</appAttemptState>
</appAttempt>
</appAttempts>
```
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]