Details
-
Bug
-
Status: Patch Available
-
Major
-
Resolution: Unresolved
-
2.0.5-alpha, 2.2.0, 3.0.0-alpha1
-
None
Description
When I use an "all" option by "mapred job -history" comamnd, the following exceptions are displayed and do not work.
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -3 at java.lang.String.substring(String.java:1875) at org.apache.hadoop.mapreduce.util.HostUtil.convertTrackerNameToHostName(HostUtil.java:49) at org.apache.hadoop.mapreduce.jobhistory.HistoryViewer.getTaskLogsUrl(HistoryViewer.java:459) at org.apache.hadoop.mapreduce.jobhistory.HistoryViewer.printAllTaskAttempts(HistoryViewer.java:235) at org.apache.hadoop.mapreduce.jobhistory.HistoryViewer.print(HistoryViewer.java:117) at org.apache.hadoop.mapreduce.tools.CLI.viewHistory(CLI.java:472) at org.apache.hadoop.mapreduce.tools.CLI.run(CLI.java:313) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) at org.apache.hadoop.mapred.JobClient.main(JobClient.java:1233)
This is because a node name recorded in History file is not given "tracker_". Therefore it makes modifications to be able to read History file even if a node name is not given by "tracker_".
In addition, it fixes the URL of displayed task log.