[ 
http://issues.apache.org/jira/browse/HADOOP-52?page=comments#action_12371479 ] 

Doug Cutting commented on HADOOP-52:
------------------------------------

The synchronization fixes the problem, but causes everything to run 
sequentially.  I think with the same amount of code we could add a clone() 
method to FileSystem and provide a better fix.  Currently one cannot pass a 
FileSystem instance to JobClient, but if one could, then we would be changing 
the CWD of that filesystem underneath other processes that might be using it 
w/o synchronization.

If we want to be totally safe, we could make setWorkingDirectory return a 
clone, with no side-effects.  Cloning an FS should be cheap enough.

> mapred input and output dirs must be absolute
> ---------------------------------------------
>
>          Key: HADOOP-52
>          URL: http://issues.apache.org/jira/browse/HADOOP-52
>      Project: Hadoop
>         Type: Bug
>   Components: mapred
>     Versions: 0.1
>     Reporter: Doug Cutting
>     Assignee: Owen O'Malley
>      Fix For: 0.1
>  Attachments: cwd.patch, cwd2.patch
>
> DFS converts relative pathnames to be under /user/$USER.  But MapReduce jobs 
> may be submitted by a different user than is running the jobtracker and 
> tasktracker.  Thus relative paths must be resolved before a job is submitted, 
> so that only absolute paths are seen on the job tracker and tasktracker.  I 
> think the simplest way to fix this is to make JobConf.setInputDir(), 
> setOutputDir(), etc. resolve relative pathnames. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to