You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by jl...@apache.org on 2013/06/18 22:25:00 UTC
svn commit: r1494285 - in /hadoop/common/trunk/hadoop-mapreduce-project: ./
hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/
hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apa...
Author: jlowe
Date: Tue Jun 18 20:25:00 2013
New Revision: 1494285
URL: http://svn.apache.org/r1494285
Log:
MAPREDUCE-5316. job -list-attempt-ids command does not handle illegal task-state. Contributed by Ashwin Shankar
Modified:
hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java
hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/tools/TestCLI.java
Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt?rev=1494285&r1=1494284&r2=1494285&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt Tue Jun 18 20:25:00 2013
@@ -137,6 +137,33 @@ Trunk (Unreleased)
MAPREDUCE-5191. TestQueue#testQueue fails with timeout on Windows. (Ivan
Mitic via hitesh)
+Release 2.3.0 - UNRELEASED
+
+ INCOMPATIBLE CHANGES
+
+ NEW FEATURES
+
+ IMPROVEMENTS
+
+ OPTIMIZATIONS
+
+ BUG FIXES
+
+ MAPREDUCE-5316. job -list-attempt-ids command does not handle illegal
+ task-state (Ashwin Shankar via jlowe)
+
+Release 2.2.0 - UNRELEASED
+
+ INCOMPATIBLE CHANGES
+
+ NEW FEATURES
+
+ IMPROVEMENTS
+
+ OPTIMIZATIONS
+
+ BUG FIXES
+
Release 2.1.0-beta - UNRELEASED
INCOMPATIBLE CHANGES
@@ -1149,6 +1176,9 @@ Release 0.23.9 - UNRELEASED
MAPREDUCE-4019. -list-attempt-ids is not working (Ashwin Shankar,
Devaraj K, and B Anil Kumar via jlowe)
+ MAPREDUCE-5316. job -list-attempt-ids command does not handle illegal
+ task-state (Ashwin Shankar via jlowe)
+
Release 0.23.8 - 2013-06-05
INCOMPATIBLE CHANGES
Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java?rev=1494285&r1=1494284&r2=1494285&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/tools/CLI.java Tue Jun 18 20:25:00 2013
@@ -223,7 +223,12 @@ public class CLI extends Configured impl
taskState = argv[3];
displayTasks = true;
if (!taskTypes.contains(taskType.toUpperCase())) {
- System.out.println("Error: Invalid task-type: "+taskType);
+ System.out.println("Error: Invalid task-type: " + taskType);
+ displayUsage(cmd);
+ return exitCode;
+ }
+ if (!taskStates.contains(taskState.toLowerCase())) {
+ System.out.println("Error: Invalid task-state: " + taskState);
displayUsage(cmd);
return exitCode;
}
@@ -572,19 +577,15 @@ public class CLI extends Configured impl
protected void displayTasks(Job job, String type, String state)
throws IOException, InterruptedException {
- if (!taskStates.contains(state)) {
- throw new java.lang.IllegalArgumentException("Invalid state: " + state +
- ". Valid states for task are: pending, running, completed, failed, killed.");
- }
TaskReport[] reports=null;
reports = job.getTaskReports(TaskType.valueOf(type.toUpperCase()));
for (TaskReport report : reports) {
TIPStatus status = report.getCurrentStatus();
- if ((state.equals("pending") && status ==TIPStatus.PENDING) ||
- (state.equals("running") && status ==TIPStatus.RUNNING) ||
- (state.equals("completed") && status == TIPStatus.COMPLETE) ||
- (state.equals("failed") && status == TIPStatus.FAILED) ||
- (state.equals("killed") && status == TIPStatus.KILLED)) {
+ if ((state.equalsIgnoreCase("pending") && status ==TIPStatus.PENDING) ||
+ (state.equalsIgnoreCase("running") && status ==TIPStatus.RUNNING) ||
+ (state.equalsIgnoreCase("completed") && status == TIPStatus.COMPLETE) ||
+ (state.equalsIgnoreCase("failed") && status == TIPStatus.FAILED) ||
+ (state.equalsIgnoreCase("killed") && status == TIPStatus.KILLED)) {
printTaskAttempts(report);
}
}
Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/tools/TestCLI.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/tools/TestCLI.java?rev=1494285&r1=1494284&r2=1494285&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/tools/TestCLI.java (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/tools/TestCLI.java Tue Jun 18 20:25:00 2013
@@ -58,13 +58,19 @@ public class TestCLI {
int retCode_REDUCE = cli.run(new String[] { "-list-attempt-ids", jobIdStr,
"REDUCE", "running" });
+ int retCode_completed = cli.run(new String[] { "-list-attempt-ids",
+ jobIdStr, "REDUCE", "completed" });
+
assertEquals("MAP is a valid input,exit code should be 0", 0, retCode_MAP);
assertEquals("map is a valid input,exit code should be 0", 0, retCode_map);
assertEquals("REDUCE is a valid input,exit code should be 0", 0,
retCode_REDUCE);
+ assertEquals(
+ "REDUCE and completed are a valid inputs to -list-attempt-ids,exit code should be 0",
+ 0, retCode_completed);
verify(job, times(2)).getTaskReports(TaskType.MAP);
- verify(job, times(1)).getTaskReports(TaskType.REDUCE);
+ verify(job, times(2)).getTaskReports(TaskType.REDUCE);
}
@Test
@@ -79,13 +85,19 @@ public class TestCLI {
int retCode_JOB_SETUP = cli.run(new String[] { "-list-attempt-ids",
jobIdStr, "JOB_SETUP", "running" });
+
int retCode_JOB_CLEANUP = cli.run(new String[] { "-list-attempt-ids",
jobIdStr, "JOB_CLEANUP", "running" });
- assertEquals("JOB_SETUP is a invalid input,exit code should be -1", -1,
+ int retCode_invalidTaskState = cli.run(new String[] { "-list-attempt-ids",
+ jobIdStr, "REDUCE", "complete" });
+
+ assertEquals("JOB_SETUP is an invalid input,exit code should be -1", -1,
retCode_JOB_SETUP);
- assertEquals("JOB_CLEANUP is a invalid input,exit code should be -1", -1,
+ assertEquals("JOB_CLEANUP is an invalid input,exit code should be -1", -1,
retCode_JOB_CLEANUP);
+ assertEquals("complete is an invalid input,exit code should be -1", -1,
+ retCode_invalidTaskState);
}