Fixed a bug in IsolationRunner to make it work for map tasks.
IsolationRunner does not work as documented in the tutorial.
The tutorial says "To use the IsolationRunner, first set keep.failed.tasks.files to true (also see keep.tasks.files.pattern)."
keep.failed.task.files (not tasks)
After the above was set (quoted from my message on hadoop-core):
> After the task
> hung, I failed it via the web interface. Then I went to the node that was
> running this task
> $ cd ...local/taskTracker/jobcache/job_200808071645_0001/work
> (this path is already different from the tutorial's)
> $ hadoop org.apache.hadoop.mapred.IsolationRunner ../job.xml
> Exception in thread "main" java.lang.NullPointerException
> Looking at IsolationRunner code, I see this:
> 164 File workDirName = new File(lDirAlloc.getLocalPathToRead(
> 165 TaskTracker.getJobCacheSubdir()
> 166 + Path.SEPARATOR + taskId.getJobID()
> 167 + Path.SEPARATOR + taskId
> 168 + Path.SEPARATOR + "work",
> 169 conf). toString());
> I.e. it assumes there is supposed to be a taskID subdirectory under the job
> dir, but:
> $ pwd
> $ ls
> jars job.xml work
> – it's not there.
- is related to
MAPREDUCE-234 Isolation runner needs a testcase
- relates to
MAPREDUCE-1325 Fix IsolationRunner to run with reduces too