Author: tomwhite Date: Wed Dec 3 07:05:50 2008 New Revision: 722921 URL: http://svn.apache.org/viewvc?rev=722921&view=rev Log: Merge -r 722912:722913 from trunk to 0.19 branch. Fixes: HADOOP-4420. Modified: hadoop/core/branches/branch-0.19/CHANGES.txt hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/CompletedJobStatusStore.java hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JobTracker.java Modified: hadoop/core/branches/branch-0.19/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/CHANGES.txt?rev=722921&r1=722920&r2=722921&view=diff ============================================================================== --- hadoop/core/branches/branch-0.19/CHANGES.txt (original) +++ hadoop/core/branches/branch-0.19/CHANGES.txt Wed Dec 3 07:05:50 2008 @@ -12,6 +12,9 @@ HADOOP-4697. Fix getBlockLocations in KosmosFileSystem to handle multiple blocks correctly. (Sriram Rao via cdouglas) + HADOOP-4420. Add null checks for job, caused by invalid job IDs. + (Aaron Kimball via tomwhite) + Release 0.19.0 - 2008-11-18 INCOMPATIBLE CHANGES Modified: hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/CompletedJobStatusStore.java URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/CompletedJobStatusStore.java?rev=722921&r1=722920&r2=722921&view=diff ============================================================================== --- hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/CompletedJobStatusStore.java (original) +++ hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/CompletedJobStatusStore.java Wed Dec 3 07:05:50 2008 @@ -219,6 +219,12 @@ */ public JobStatus readJobStatus(JobID jobId) { JobStatus jobStatus = null; + + if (null == jobId) { + LOG.warn("Could not read job status for null jobId"); + return null; + } + if (active) { try { FSDataInputStream dataIn = getJobInfoFile(jobId); Modified: hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JobTracker.java URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JobTracker.java?rev=722921&r1=722920&r2=722921&view=diff ============================================================================== --- hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JobTracker.java (original) +++ hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JobTracker.java Wed Dec 3 07:05:50 2008 @@ -2285,7 +2285,18 @@ } public synchronized void killJob(JobID jobid) throws IOException { + if (null == jobid) { + LOG.info("Null jobid object sent to JobTracker.killJob()"); + return; + } + JobInProgress job = jobs.get(jobid); + + if (null == job) { + LOG.info("killJob(): JobId " + jobid.toString() + " is not a valid job"); + return; + } + JobStatus prevStatus = (JobStatus)job.getStatus().clone(); checkAccess(job, QueueManager.QueueOperation.ADMINISTER_JOBS); job.kill(); @@ -2315,6 +2326,11 @@ String priority) throws IOException { JobInProgress job = jobs.get(jobid); + if (null == job) { + LOG.info("setJobPriority(): JobId " + jobid.toString() + + " is not a valid job"); + return; + } checkAccess(job, QueueManager.QueueOperation.ADMINISTER_JOBS); JobPriority newPriority = JobPriority.valueOf(priority); setJobPriority(jobid, newPriority); @@ -2329,6 +2345,11 @@ } } public synchronized JobStatus getJobStatus(JobID jobid) { + if (null == jobid) { + LOG.warn("JobTracker.getJobStatus() cannot get status for null jobid"); + return null; + } + JobInProgress job = jobs.get(jobid); if (job != null) { return job.getStatus();