Просмотр исходного кода

Merge -r 646981:646982 from trunk to branch-0.16 to fix HADOOP-3182

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.16@646987 13f79535-47bb-0310-9956-ffa450edef68
Arun Murthy 17 лет назад
Родитель
Сommit
bbdd038fd2

+ 4 - 0
CHANGES.txt

@@ -23,6 +23,10 @@ Release 0.16.3 - Unreleased
     HADOOP-3069. Primary name-node should not truncate image when transferring
     it from the secondary. (shv)
 
+    HADOOP-3182. Change permissions of the job-submission directory to 777
+    from 733 to ensure sharing of HOD clusters works correctly. (Tsz Wo
+    (Nicholas), Sze and Amareshwari Sri Ramadasu via acmurthy) 
+
 Release 0.16.2 - 2008-04-02
 
   BUG FIXES

+ 4 - 4
src/java/org/apache/hadoop/mapred/JobClient.java

@@ -436,9 +436,9 @@ public class JobClient extends Configured implements MRConstants, Tool  {
   final private static FsPermission JOB_FILE_PERMISSION = 
     FsPermission.createImmutable((short) 0644); // rw-r--r--
 
-  // system directories are world-wide readable and owner readable
-  final static FsPermission SYSTEM_DIR_PERMISSION =
-    FsPermission.createImmutable((short) 0733); // rwx-wx-wx
+  // job submission directory is world readable/writable/executable
+  final static FsPermission JOB_DIR_PERMISSION =
+    FsPermission.createImmutable((short) 0777); // rwx-rwx-rwx
    
   /**
    * Submit a job to the MR system.
@@ -480,7 +480,7 @@ public class JobClient extends Configured implements MRConstants, Tool  {
     FileSystem fs = getFs();
     LOG.debug("default FileSystem: " + fs.getUri());
     fs.delete(submitJobDir);    
-    FileSystem.mkdirs(fs, submitJobDir, new FsPermission(SYSTEM_DIR_PERMISSION));
+    FileSystem.mkdirs(fs, submitJobDir, new FsPermission(JOB_DIR_PERMISSION));
     Path submitJobFile = new Path(submitJobDir, "job.xml");
     Path submitJarFile = new Path(submitJobDir, "job.jar");
     Path submitSplitFile = new Path(submitJobDir, "job.split");

+ 5 - 1
src/java/org/apache/hadoop/mapred/JobTracker.java

@@ -86,6 +86,10 @@ public class JobTracker implements MRConstants, InterTrackerProtocol, JobSubmiss
     }
   }
 
+  // system directories are world-wide readable and owner readable
+  final static FsPermission SYSTEM_DIR_PERMISSION =
+    FsPermission.createImmutable((short) 0733); // rwx-wx-wx
+
   /**
    * The maximum no. of 'completed' (successful/failed/killed)
    * jobs kept in memory per-user. 
@@ -686,7 +690,7 @@ public class JobTracker implements MRConstants, InterTrackerProtocol, JobSubmiss
         // safe mode
         fs.delete(systemDir);
         if (FileSystem.mkdirs(fs, systemDir, 
-            new FsPermission(JobClient.SYSTEM_DIR_PERMISSION))) {
+            new FsPermission(SYSTEM_DIR_PERMISSION))) {
           break;
         }
         LOG.error("Mkdirs failed to create " + systemDir);

+ 1 - 1
src/test/org/apache/hadoop/mapred/TestMiniMRWithDFSWithDistinctUsers.java

@@ -70,7 +70,7 @@ public class TestMiniMRWithDFSWithDistinctUsers extends TestCase {
       mkdir(fs, "/mapred");
 
       UnixUserGroupInformation MR_UGI = createUGI(
-          UnixUserGroupInformation.login().getUserName(), true); 
+          UnixUserGroupInformation.login().getUserName(), false); 
       mr = new MiniMRCluster(0, 0, 4, dfs.getFileSystem().getUri().toString(),
           false, 1, MR_UGI);