You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ae...@apache.org on 2016/06/16 18:33:08 UTC
[44/49] hadoop git commit: YARN-5083. YARN CLI for AM logs does not
give any error message if entered invalid am value. Contributed by Jian He.
YARN-5083. YARN CLI for AM logs does not give any error message if entered invalid am value. Contributed by Jian He.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e14ee0d3
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e14ee0d3
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e14ee0d3
Branch: refs/heads/HDFS-7240
Commit: e14ee0d3b55816bed1d27a8caf78001985119e3c
Parents: cc6c265
Author: Junping Du <ju...@apache.org>
Authored: Thu Jun 16 08:55:56 2016 -0700
Committer: Junping Du <ju...@apache.org>
Committed: Thu Jun 16 08:55:56 2016 -0700
----------------------------------------------------------------------
.../apache/hadoop/yarn/client/cli/LogsCLI.java | 7 +++++-
.../hadoop/yarn/client/cli/TestLogsCLI.java | 23 ++++++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e14ee0d3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java
index ebd5428..d28c77c 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/LogsCLI.java
@@ -274,7 +274,7 @@ public class LogsCLI extends Configured implements Tool {
formatter.printHelp("general options are:", options);
}
- private List<JSONObject> getAMContainerInfoForRMWebService(
+ protected List<JSONObject> getAMContainerInfoForRMWebService(
Configuration conf, String appId) throws ClientHandlerException,
UniformInterfaceException, JSONException {
Client webServiceClient = Client.create();
@@ -538,6 +538,11 @@ public class LogsCLI extends Configured implements Tool {
if (amContainerId <= requests.size()) {
outputAMContainerLogs(requests.get(amContainerId - 1), conf,
logCliHelper);
+ } else {
+ System.err.println(String.format("ERROR: Specified AM containerId"
+ + " (%s) exceeds the number of AM containers (%s).",
+ amContainerId, requests.size()));
+ return -1;
}
}
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e14ee0d3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java
index 10047e3..df1c6b7 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java
@@ -71,6 +71,7 @@ import org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat;
import org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest;
import org.apache.hadoop.yarn.logaggregation.LogAggregationUtils;
import org.apache.hadoop.yarn.logaggregation.LogCLIHelpers;
+import org.codehaus.jettison.json.JSONObject;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -131,6 +132,28 @@ public class TestLogsCLI {
assertTrue(sysErrStream.toString().startsWith("Invalid ApplicationId specified"));
}
+ @Test(timeout = 5000L)
+ public void testInvalidAMContainerId() throws Exception {
+ Configuration conf = new YarnConfiguration();
+ conf.setBoolean(YarnConfiguration.APPLICATION_HISTORY_ENABLED, true);
+ YarnClient mockYarnClient =
+ createMockYarnClient(YarnApplicationState.FINISHED,
+ UserGroupInformation.getCurrentUser().getShortUserName());
+ LogsCLI cli = spy(new LogsCLIForTest(mockYarnClient));
+ List<JSONObject> list = Arrays.asList(new JSONObject());
+ doReturn(list).when(cli)
+ .getAMContainerInfoForRMWebService(any(Configuration.class),
+ any(String.class));
+ cli.setConf(conf);
+
+ int exitCode = cli.run(
+ new String[] {"-applicationId", "application_1465862913885_0027",
+ "-am", "1000" });
+ assertTrue(exitCode == -1);
+ assertTrue(sysErrStream.toString()
+ .contains("exceeds the number of AM containers"));
+ }
+
@Test(timeout = 5000l)
public void testUnknownApplicationId() throws Exception {
Configuration conf = new YarnConfiguration();
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org