Index: ql/src/java/org/apache/hadoop/hive/ql/exec/JobDebugger.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/JobDebugger.java (revision 1355186) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/JobDebugger.java (working copy) @@ -225,7 +225,9 @@ @SuppressWarnings("deprecation") private void showJobFailDebugInfo() throws IOException { + String jtUrl = rj.getTrackingURL(); console.printError("Error during job, obtaining debugging information..."); + console.printError("Job Tracking URL: " + jtUrl); // Loop to get all task completion events because getTaskCompletionEvents // only returns a subset per call TaskInfoGrabber tlg = new TaskInfoGrabber(); @@ -250,20 +252,10 @@ computeMaxFailures() ; // Display Error Message for tasks with the highest failure count - String jtUrl = null; - try { - jtUrl = JobTrackerURLResolver.getURL(conf); - } catch (Exception e) { - console.printError("Unable to retrieve URL for Hadoop Task logs. " - + e.getMessage()); - } - for (String task : failures.keySet()) { if (failures.get(task).intValue() == maxFailures) { TaskInfo ti = taskIdToInfo.get(task); String jobId = ti.getJobId(); - String taskUrl = (jtUrl == null) ? "Unavailable" : - jtUrl + "/taskdetails.jsp?jobid=" + jobId + "&tipid=" + task.toString(); TaskLogProcessor tlp = new TaskLogProcessor(conf); for (String logUrl : ti.getLogUrls()) { @@ -290,7 +282,6 @@ sb.append("Task with the most failures(" + maxFailures + "): \n"); sb.append("-----\n"); sb.append("Task ID:\n " + task + "\n\n"); - sb.append("URL:\n " + taskUrl + "\n"); for (ErrorAndSolution e : errors) { sb.append("\n"); Index: ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java (revision 1355186) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java (working copy) @@ -502,7 +502,9 @@ int startIndex = 0; + String jtUrl = rj.getTrackingURL(); console.printError("Error during job, obtaining debugging information..."); + console.printError("Job Tracking URL: " + jtUrl); // Loop to get all task completion events because getTaskCompletionEvents // only returns a subset per call while (true) { @@ -581,13 +583,10 @@ } // Display Error Message for tasks with the highest failure count - String jtUrl = JobTrackerURLResolver.getURL(conf); - for (String task : failures.keySet()) { if (failures.get(task).intValue() == maxFailures) { TaskInfo ti = taskIdToInfo.get(task); String jobId = ti.getJobId(); - String taskUrl = jtUrl + "/taskdetails.jsp?jobid=" + jobId + "&tipid=" + task.toString(); TaskLogProcessor tlp = new TaskLogProcessor(conf); for (String logUrl : ti.getLogUrls()) { @@ -605,7 +604,6 @@ sb.append("Task with the most failures(" + maxFailures + "): \n"); sb.append("-----\n"); sb.append("Task ID:\n " + task + "\n\n"); - sb.append("URL:\n " + taskUrl + "\n"); for (ErrorAndSolution e : errors) { sb.append("\n");