Modified: hadoop/core/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRWithDFS.java URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRWithDFS.java?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRWithDFS.java (original) +++ hadoop/core/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRWithDFS.java Wed Apr 30 05:25:05 2008 @@ -18,20 +18,27 @@ package org.apache.hadoop.mapred; -import java.io.*; -import java.util.*; +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import junit.framework.TestCase; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.dfs.MiniDFSCluster; +import org.apache.hadoop.examples.WordCount; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.FileUtil; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; -import org.apache.hadoop.examples.WordCount; /** * A JUnit test to test Mini Map-Reduce Cluster with Mini-DFS. @@ -174,7 +181,7 @@ LOG.info("runWordCount"); // Run a word count example // Keeping tasks that match this pattern - jobConf.setKeepTaskFilesPattern("task_[^_]*_[0-9]*_m_000001_.*"); + jobConf.setKeepTaskFilesPattern(TaskAttemptID.getTaskAttemptIDsPattern(null, null, true, 1, null)); TestResult result; final Path inDir = new Path("./wc/input"); final Path outDir = new Path("./wc/output"); @@ -182,9 +189,9 @@ result = launchWordCount(jobConf, inDir, outDir, input, 3, 1); assertEquals("The\t1\nbrown\t1\nfox\t2\nhas\t1\nmany\t1\n" + "quick\t1\nred\t1\nsilly\t1\nsox\t1\n", result.output); - String jobid = result.job.getJobID(); - String taskid = "task_" + jobid.substring(4) + "_m_000001_0"; - checkTaskDirectories(mr, new String[]{jobid}, new String[]{taskid}); + JobID jobid = result.job.getID(); + TaskAttemptID taskid = new TaskAttemptID(new TaskID(jobid, true, 1),0); + checkTaskDirectories(mr, new String[]{jobid.toString()}, new String[]{taskid.toString()}); // test with maps=0 jobConf = mr.createJobConf(); input = "owen is oom";
Modified: hadoop/core/trunk/src/webapps/job/jobblacklistedtrackers.jsp URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/webapps/job/jobblacklistedtrackers.jsp?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/webapps/job/jobblacklistedtrackers.jsp (original) +++ hadoop/core/trunk/src/webapps/job/jobblacklistedtrackers.jsp Wed Apr 30 05:25:05 2008 @@ -37,7 +37,7 @@ return; } - JobInProgress job = (JobInProgress) tracker.getJob(jobId); + JobInProgress job = (JobInProgress) tracker.getJob(JobID.forName(jobId)); if (job == null) { out.print("<b>Job " + jobId + " not found.</b><br>\n"); return; Modified: hadoop/core/trunk/src/webapps/job/jobconf.jsp URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/webapps/job/jobconf.jsp?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/webapps/job/jobconf.jsp (original) +++ hadoop/core/trunk/src/webapps/job/jobconf.jsp Wed Apr 30 05:25:05 2008 @@ -26,7 +26,7 @@ <h2>Job Configuration: JobId - <%= jobId %></h2><br> <% - String jobFilePath = tracker.getLocalJobFilePath(jobId); + String jobFilePath = JobTracker.getLocalJobFilePath(JobID.forName(jobId)); FileInputStream jobFile = null; try { jobFile = new FileInputStream(jobFilePath); Modified: hadoop/core/trunk/src/webapps/job/jobdetails.jsp URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/webapps/job/jobdetails.jsp?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/webapps/job/jobdetails.jsp (original) +++ hadoop/core/trunk/src/webapps/job/jobdetails.jsp Wed Apr 30 05:25:05 2008 @@ -104,6 +104,10 @@ <% String jobId = request.getParameter("jobid"); String refreshParam = request.getParameter("refresh"); + if (jobId == null) { + out.println("<h2>Missing 'jobid'!</h2>"); + return; + } int refresh = 60; // refresh every 60 seconds by default if (refreshParam != null) { @@ -113,12 +117,12 @@ catch (NumberFormatException ignored) { } } - - JobInProgress job = (JobInProgress) tracker.getJob(jobId); + JobID jobIdObj = JobID.forName(jobId); + JobInProgress job = (JobInProgress) tracker.getJob(jobIdObj); String action = request.getParameter("action"); if("changeprio".equalsIgnoreCase(action)) { - tracker.setJobPriority(jobId, + tracker.setJobPriority(jobIdObj, JobPriority.valueOf(request.getParameter("prio"))); } @@ -129,7 +133,7 @@ return; } else if(action != null && action.equalsIgnoreCase("kill")) { - tracker.killJob(jobId); + tracker.killJob(jobIdObj); } } %> Modified: hadoop/core/trunk/src/webapps/job/jobfailures.jsp URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/webapps/job/jobfailures.jsp?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/webapps/job/jobfailures.jsp (original) +++ hadoop/core/trunk/src/webapps/job/jobfailures.jsp Wed Apr 30 05:25:05 2008 @@ -16,18 +16,18 @@ <%! private void printFailedAttempts(JspWriter out, JobTracker tracker, - String jobId, + JobID jobId, TaskInProgress tip, TaskStatus.State failState) throws IOException { TaskStatus[] statuses = tip.getTaskStatuses(); - String tipId = tip.getTIPId(); + TaskID tipId = tip.getTIPId(); for(int i=0; i < statuses.length; ++i) { TaskStatus.State taskState = statuses[i].getRunState(); if ((failState == null && (taskState == TaskStatus.State.FAILED || taskState == TaskStatus.State.KILLED)) || taskState == failState) { String taskTrackerName = statuses[i].getTaskTracker(); TaskTrackerStatus taskTracker = tracker.getTaskTracker(taskTrackerName); - out.print("<tr><td>" + statuses[i].getTaskId() + + out.print("<tr><td>" + statuses[i].getTaskID() + "</td><td><a href=\"taskdetails.jsp?jobid="+ jobId + "&tipid=" + tipId + "\">" + tipId + "</a></td>"); @@ -41,8 +41,7 @@ out.print("<td>" + taskState + "</td>"); out.print("<td><pre>"); String[] failures = - tracker.getTaskDiagnostics(jobId, tipId, - statuses[i].getTaskId()); + tracker.getTaskDiagnostics(statuses[i].getTaskID()); if (failures == null) { out.print(" "); } else { @@ -59,7 +58,7 @@ if (taskTracker != null) { String taskLogUrl = "http://" + taskTracker.getHost() + ":" + taskTracker.getHttpPort() + "/tasklog?taskid=" + - statuses[i].getTaskId(); + statuses[i].getTaskID(); String tailFourKBUrl = taskLogUrl + "&start=-4097"; String tailEightKBUrl = taskLogUrl + "&start=-8193"; String entireLogUrl = taskLogUrl; @@ -78,7 +77,7 @@ private void printFailures(JspWriter out, JobTracker tracker, - String jobId, + JobID jobId, String kind, String cause) throws IOException { JobInProgress job = (JobInProgress) tracker.getJob(jobId); @@ -140,6 +139,11 @@ <% String jobId = request.getParameter("jobid"); + if (jobId == null) { + out.println("<h2>Missing 'jobid'!</h2>"); + return; + } + JobID jobIdObj = JobID.forName(jobId); String kind = request.getParameter("kind"); String cause = request.getParameter("cause"); %> @@ -151,7 +155,7 @@ failures on <a href="jobtracker.jsp"><%=trackerName%></a></h1> <% - printFailures(out, tracker, jobId, kind, cause); + printFailures(out, tracker, jobIdObj, kind, cause); %> <hr> Modified: hadoop/core/trunk/src/webapps/job/jobtasks.jsp URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/webapps/job/jobtasks.jsp?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/webapps/job/jobtasks.jsp (original) +++ hadoop/core/trunk/src/webapps/job/jobtasks.jsp Wed Apr 30 05:25:05 2008 @@ -15,6 +15,10 @@ String trackerName = StringUtils.simpleHostname(tracker.getJobTrackerMachine()); String jobid = request.getParameter("jobid"); + if (jobid == null) { + out.println("<h2>Missing 'jobid'!</h2>"); + return; + } String type = request.getParameter("type"); String pagenum = request.getParameter("pagenum"); TaskInProgress[] tasks; @@ -23,7 +27,8 @@ int pnum = Integer.parseInt(pagenum); int next_page = pnum+1; int numperpage = 2000; - JobInProgress job = (JobInProgress) tracker.getJob(jobid); + JobID jobidObj = JobID.forName(jobid); + JobInProgress job = (JobInProgress) tracker.getJob(jobidObj); JobProfile profile = (job != null) ? (job.getProfile()) : null; JobStatus status = (job != null) ? (job.getStatus()) : null; TaskReport[] reports = null; @@ -31,11 +36,11 @@ int end_index = start_index + numperpage; int report_len = 0; if ("map".equals(type)){ - reports = (job != null) ? tracker.getMapTaskReports(jobid) : null; + reports = (job != null) ? tracker.getMapTaskReports(jobidObj) : null; tasks = (job != null) ? job.getMapTasks() : null; } else{ - reports = (job != null) ? tracker.getReduceTaskReports(jobid) : null; + reports = (job != null) ? tracker.getReduceTaskReports(jobidObj) : null; tasks = (job != null) ? job.getReduceTasks() : null; } %> @@ -57,7 +62,7 @@ } // Filtering the reports if some filter is specified if (!"all".equals(state)) { - List<String> filteredReportsTaskIds = new ArrayList<String>(); + List<TaskID> filteredReportsTaskIds = new ArrayList<TaskID>(); List<TaskReport> filteredReports = new ArrayList<TaskReport>(); for (int i = 0; i < tasks.length; ++i) { if (("completed".equals(state) && tasks[i].isComplete()) @@ -70,7 +75,7 @@ } } for (int i = 0 ; i < reports.length; ++i) { - if (filteredReportsTaskIds.contains(reports[i].getTaskId())) { + if (filteredReportsTaskIds.contains(reports[i].getTaskID())) { filteredReports.add(reports[i]); } } Modified: hadoop/core/trunk/src/webapps/job/jobtracker.jsp URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/webapps/job/jobtracker.jsp?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/webapps/job/jobtracker.jsp (original) +++ hadoop/core/trunk/src/webapps/job/jobtracker.jsp Wed Apr 30 05:25:05 2008 @@ -33,7 +33,7 @@ JobInProgress job = (JobInProgress) it.next(); JobProfile profile = job.getProfile(); JobStatus status = job.getStatus(); - String jobid = profile.getJobId(); + JobID jobid = profile.getJobID(); int desiredMaps = job.desiredMaps(); int desiredReduces = job.desiredReduces(); Modified: hadoop/core/trunk/src/webapps/job/taskdetails.jsp URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/webapps/job/taskdetails.jsp?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/webapps/job/taskdetails.jsp (original) +++ hadoop/core/trunk/src/webapps/job/taskdetails.jsp Wed Apr 30 05:25:05 2008 @@ -29,10 +29,14 @@ <% JobTracker tracker = (JobTracker) application.getAttribute("job.tracker"); String jobid = request.getParameter("jobid"); - JobInProgress job = (JobInProgress) tracker.getJob(jobid); String tipid = request.getParameter("tipid"); String taskid = request.getParameter("taskid"); - + JobID jobidObj = JobID.forName(jobid); + TaskID tipidObj = TaskID.forName(tipid); + TaskAttemptID taskidObj = TaskAttemptID.forName(taskid); + + JobInProgress job = (JobInProgress) tracker.getJob(jobidObj); + boolean privateActions = JspHelper.conf.getBoolean(PRIVATE_ACTIONS_KEY, false); if (privateActions) { @@ -46,19 +50,19 @@ return; } else if (action.equalsIgnoreCase("kill-task")) { - tracker.killTask(taskid, false); + tracker.killTask(taskidObj, false); //redirect again so that refreshing the page will not attempt to rekill the task response.sendRedirect("/taskdetails.jsp?" + "&subaction=kill-task" + "&jobid=" + jobid + "&tipid=" + tipid); } else if (action.equalsIgnoreCase("fail-task")) { - tracker.killTask(taskid, true); + tracker.killTask(taskidObj, true); response.sendRedirect("/taskdetails.jsp?" + "&subaction=fail-task" + "&jobid=" + jobid + "&tipid=" + tipid); } } } - TaskStatus[] ts = (job != null) ? tracker.getTaskStatuses(jobid, tipid) + TaskStatus[] ts = (job != null) ? tracker.getTaskStatuses(tipidObj) : null; %> @@ -97,7 +101,7 @@ TaskStatus status = ts[i]; String taskTrackerName = status.getTaskTracker(); TaskTrackerStatus taskTracker = tracker.getTaskTracker(taskTrackerName); - out.print("<tr><td>" + status.getTaskId() + "</td>"); + out.print("<tr><td>" + status.getTaskID() + "</td>"); String taskAttemptTracker = null; if (taskTracker == null) { out.print("<td>" + taskTrackerName + "</td>"); @@ -127,8 +131,7 @@ .getFinishTime(), status.getStartTime()) + "</td>"); out.print("<td><pre>"); - String [] failures = tracker.getTaskDiagnostics(jobid, tipid, - status.getTaskId()); + String [] failures = tracker.getTaskDiagnostics(status.getTaskID()); if (failures == null) { out.print(" "); } else { @@ -145,7 +148,7 @@ out.print("n/a"); } else { String taskLogUrl = taskAttemptTracker + "/tasklog?taskid=" - + status.getTaskId(); + + status.getTaskID(); String tailFourKBUrl = taskLogUrl + "&start=-4097"; String tailEightKBUrl = taskLogUrl + "&start=-8193"; String entireLogUrl = taskLogUrl + "&all=true"; @@ -154,17 +157,17 @@ out.print("<a href=\"" + entireLogUrl + "\">All</a><br/>"); } out.print("</td><td>" + "<a href=\"/taskstats.jsp?jobid=" + jobid - + "&tipid=" + tipid + "&taskid=" + status.getTaskId() + "\">" + + "&tipid=" + tipid + "&taskid=" + status.getTaskID() + "\">" + ((status.getCounters() != null) ? status.getCounters().size() : 0) + "</a></td>"); out.print("<td>"); if (privateActions && status.getRunState() == TaskStatus.State.RUNNING) { out.print("<a href=\"/taskdetails.jsp?action=confirm" + "&subaction=kill-task" + "&jobid=" + jobid + "&tipid=" - + tipid + "&taskid=" + status.getTaskId() + "\" > Kill </a>"); + + tipid + "&taskid=" + status.getTaskID() + "\" > Kill </a>"); out.print("<br><a href=\"/taskdetails.jsp?action=confirm" + "&subaction=fail-task" + "&jobid=" + jobid + "&tipid=" - + tipid + "&taskid=" + status.getTaskId() + "\" > Fail </a>"); + + tipid + "&taskid=" + status.getTaskID() + "\" > Fail </a>"); } else out.print("<pre> </pre>"); Modified: hadoop/core/trunk/src/webapps/job/taskstats.jsp URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/webapps/job/taskstats.jsp?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/webapps/job/taskstats.jsp (original) +++ hadoop/core/trunk/src/webapps/job/taskstats.jsp Wed Apr 30 05:25:05 2008 @@ -15,17 +15,22 @@ String trackerName = StringUtils.simpleHostname(tracker.getJobTrackerMachine()); String jobid = request.getParameter("jobid"); - JobInProgress job = (JobInProgress) tracker.getJob(jobid); String tipid = request.getParameter("tipid"); String taskid = request.getParameter("taskid"); + JobID jobidObj = JobID.forName(jobid); + TaskID tipidObj = TaskID.forName(tipid); + TaskAttemptID taskidObj = TaskAttemptID.forName(taskid); + + JobInProgress job = (JobInProgress) tracker.getJob(jobidObj); + Format decimal = new DecimalFormat(); Counters counters; if (taskid == null) { - counters = tracker.getTipCounters(jobid, tipid); + counters = tracker.getTipCounters(tipidObj); taskid = tipid; // for page title etc } else { - TaskStatus taskStatus = tracker.getTaskStatus(jobid, tipid, taskid); + TaskStatus taskStatus = tracker.getTaskStatus(taskidObj); counters = taskStatus.getCounters(); } %> Modified: hadoop/core/trunk/src/webapps/task/tasktracker.jsp URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/webapps/task/tasktracker.jsp?rev=652364&r1=652363&r2=652364&view=diff ============================================================================== --- hadoop/core/trunk/src/webapps/task/tasktracker.jsp (original) +++ hadoop/core/trunk/src/webapps/task/tasktracker.jsp Wed Apr 30 05:25:05 2008 @@ -35,7 +35,7 @@ Iterator itr = tracker.getRunningTaskStatuses().iterator(); while (itr.hasNext()) { TaskStatus status = (TaskStatus) itr.next(); - out.print("<tr><td>" + status.getTaskId()); + out.print("<tr><td>" + status.getTaskID()); out.print("</td><td>" + status.getRunState()); out.print("</td><td>" + StringUtils.formatPercent(status.getProgress(), 2)); @@ -51,7 +51,7 @@ <tr><td align="center">Task Attempts</td><td>Status</td> <% for(TaskStatus status: tracker.getNonRunningTasks()) { - out.print("<tr><td>" + status.getTaskId() + "</td>"); + out.print("<tr><td>" + status.getTaskID() + "</td>"); out.print("<td>" + status.getRunState() + "</td></tr>\n"); } %>
