<%@ page contentType="text/html; charset=UTF-8" import="java.io.*" import="java.util.*" import="org.apache.hadoop.mapred.*" import="org.apache.hadoop.util.*" import="javax.servlet.jsp.*" import="java.text.SimpleDateFormat" import="org.apache.hadoop.mapred.JobHistory.*" %> <% // Reload master index or a job file in session String reload = request.getParameter("reload"); String jobid = request.getParameter("jobid"); String jobTrackerId = request.getParameter("jobTrackerId"); String jobLogDir = System.getProperty("hadoop.log.dir") + File.separator + "history" ; String masterIndex = request.getParameter("historyFile"); ; if( null != masterIndex ) { String filePath = jobLogDir + File.separator + masterIndex ; File historyFile = new File(filePath); if( null == request.getSession().getAttribute("jobHistory") || "true".equals(reload) ){ request.getSession().setAttribute("jobHistory", DefaultJobHistoryParser.parseMasterIndex(historyFile)); } } if( jobid != null && jobTrackerId != null ) { JobHistory.JobInfo job = (JobHistory.JobInfo)request.getSession().getAttribute("job"); if( null != job && (! jobid.equals(job.get(Keys.JOBID)) || ! jobTrackerId.equals(job.get(Keys.JOBTRACKERID)))){ // remove jobInfo from session, keep only one job in session at a time request.getSession().removeAttribute("job"); job = null ; } if( null == job ) { String jobLogFile = jobTrackerId + "_" + jobid; job = new JobHistory.JobInfo(jobid); job.set(Keys.JOBTRACKERID, jobTrackerId); DefaultJobHistoryParser.parseJobTasks( new File(jobLogDir + File.separator + jobLogFile), job) ; request.getSession().setAttribute("job", job); } } %>