diff --git hadoop-tools/hadoop-sls/pom.xml hadoop-tools/hadoop-sls/pom.xml
index e82390d..4716643 100644
--- hadoop-tools/hadoop-sls/pom.xml
+++ hadoop-tools/hadoop-sls/pom.xml
@@ -70,6 +70,16 @@
jetty-util
provided
+
+ org.apache.hadoop
+ hadoop-yarn-server-resourcemanager
+ test
+ test-jar
+
+
+ com.google.guava
+ guava
+
diff --git hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/appmaster/AMSimulator.java hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/appmaster/AMSimulator.java
index 67c0994..b0bff72 100644
--- hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/appmaster/AMSimulator.java
+++ hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/appmaster/AMSimulator.java
@@ -29,6 +29,7 @@
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
+import com.google.common.annotations.VisibleForTesting;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.security.token.Token;
import org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest;
@@ -61,6 +62,8 @@
import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp;
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppState;
+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.util.Records;
import org.apache.log4j.Logger;
@@ -76,6 +79,7 @@
// main
protected SLSRunner se;
// application
+ @VisibleForTesting
protected ApplicationId appId;
protected ApplicationAttemptId appAttemptId;
protected String oldAppId; // jobId from the jobhistory file
@@ -158,7 +162,7 @@ public void middleStep()
}
@Override
- public void lastStep() {
+ public void lastStep() throws IOException, InterruptedException {
LOG.info(MessageFormat.format("Application {0} is shutting down.", appId));
// unregister tracking
if (isTracked) {
@@ -169,26 +173,20 @@ public void lastStep() {
.newRecordInstance(FinishApplicationMasterRequest.class);
finishAMRequest.setFinalApplicationStatus(FinalApplicationStatus.SUCCEEDED);
- try {
- UserGroupInformation ugi =
- UserGroupInformation.createRemoteUser(appAttemptId.toString());
- Token token =
- rm.getRMContext().getRMApps().get(appAttemptId.getApplicationId())
- .getRMAppAttempt(appAttemptId).getAMRMToken();
- ugi.addTokenIdentifier(token.decodeIdentifier());
- ugi.doAs(new PrivilegedExceptionAction