[ 
https://issues.apache.org/jira/browse/MAPREDUCE-4964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13563725#comment-13563725
 ] 

Karthik Kambatla commented on MAPREDUCE-4964:
---------------------------------------------

The following stacktrace uses conf to set the localdirs in LocalDirAllocator - 
hence the need to set the user in the conf properly

{noformat}
INFO org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext: 
New local dirs are: /tmp/hdfs/mrlocal/taskTracker/kasha 
Saved local dirs are: java.lang.Thread.getStackTrace(Thread.java:1479) 
org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.confChanged(LocalDirAllocator.java:254)
 
org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:335)
 
org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:146)
 
org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:127)
 
org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:111)
 org.apache.hadoop.mapred.JobLocalizer.createWorkDir(JobLocalizer.java:464) 
org.apache.hadoop.mapred.DefaultTaskController.initializeJob(DefaultTaskController.java:196)
 org.apache.hadoop.mapred.TaskTracker$4.run(TaskTracker.java:1336)
{noformat}
                
> JobLocalizer#localizeJobFiles can potentially write job.xml to the wrong 
> user's directory
> -----------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-4964
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4964
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv1
>    Affects Versions: 1.1.1
>            Reporter: Karthik Kambatla
>            Assignee: Karthik Kambatla
>         Attachments: MR-4964.patch
>
>
> In the following code, if jobs corresponding to different users (X and Y) are 
> localized simultaneously, it is possible that jobconf can be written to the 
> wrong user's directory. (X's job.xml can be written to Y's directory)
> {code}
>   public void localizeJobFiles(JobID jobid, JobConf jConf,
>       Path localJobTokenFile, TaskUmbilicalProtocol taskTracker)
>       throws IOException, InterruptedException {
>     localizeJobFiles(jobid, jConf,
>         lDirAlloc.getLocalPathForWrite(JOBCONF, ttConf), localJobTokenFile,
>         taskTracker);
>   }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to