You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by yh...@apache.org on 2009/12/11 12:09:24 UTC
svn commit: r889572 - in /hadoop/mapreduce/branches/branch-0.21: CHANGES.txt
src/test/mapred/org/apache/hadoop/mapred/TestTaskTrackerLocalization.java
src/test/mapred/org/apache/hadoop/mapred/TestTrackerDistributedCacheManagerWithLinuxTaskController.java
Author: yhemanth
Date: Fri Dec 11 11:09:23 2009
New Revision: 889572
URL: http://svn.apache.org/viewvc?rev=889572&view=rev
Log:
Merge -c 889571 from trunk to branch 0.21 to fix MAPREDUCE-879.
Modified:
hadoop/mapreduce/branches/branch-0.21/CHANGES.txt
hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTaskTrackerLocalization.java
hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTrackerDistributedCacheManagerWithLinuxTaskController.java
Modified: hadoop/mapreduce/branches/branch-0.21/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/branch-0.21/CHANGES.txt?rev=889572&r1=889571&r2=889572&view=diff
==============================================================================
--- hadoop/mapreduce/branches/branch-0.21/CHANGES.txt (original)
+++ hadoop/mapreduce/branches/branch-0.21/CHANGES.txt Fri Dec 11 11:09:23 2009
@@ -873,3 +873,6 @@
MAPREDUCE-1171. Allow shuffle retries and read-error reporting to be
configurable. (Amareshwari Sriramadasu via acmurthy)
+ MAPREDUCE-879. Fix broken unit test TestTaskTrackerLocalization on MacOS.
+ (Sreekanth Ramakrishnan via yhemanth)
+
Modified: hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTaskTrackerLocalization.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTaskTrackerLocalization.java?rev=889572&r1=889571&r2=889572&view=diff
==============================================================================
--- hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTaskTrackerLocalization.java (original)
+++ hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTaskTrackerLocalization.java Fri Dec 11 11:09:23 2009
@@ -21,6 +21,7 @@
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.jar.JarOutputStream;
@@ -57,6 +58,10 @@
private File TEST_ROOT_DIR;
private File ROOT_MAPRED_LOCAL_DIR;
private File HADOOP_LOG_DIR;
+ private static File PERMISSION_SCRIPT_DIR;
+ private static File PERMISSION_SCRIPT_FILE;
+ private static final String PERMISSION_SCRIPT_CONTENT = "ls -l -d $1 | " +
+ "awk '{print $1\":\"$3\":\"$4}'";
private int numLocalDirs = 6;
private static final Log LOG =
@@ -165,6 +170,34 @@
tracker.setLocalizer(new Localizer(tracker.localFs, localDirs,
taskController));
+ setupPermissionScriptDir(TEST_ROOT_DIR);
+ }
+
+ /**
+ * Method to setup the permission script which would be used by the
+ * checkFilePermissions
+ *
+ * @param rootDir
+ * @throws FileNotFoundException
+ */
+ static void setupPermissionScriptDir(File rootDir) throws FileNotFoundException {
+ PERMISSION_SCRIPT_DIR = new File(rootDir, "permission_script_dir");
+ PERMISSION_SCRIPT_FILE = new File(PERMISSION_SCRIPT_DIR, "getperms.sh");
+
+ if(PERMISSION_SCRIPT_FILE.exists()) {
+ PERMISSION_SCRIPT_FILE.delete();
+ }
+
+ if(PERMISSION_SCRIPT_DIR.exists()) {
+ PERMISSION_SCRIPT_DIR.delete();
+ }
+
+ PERMISSION_SCRIPT_DIR.mkdir();
+
+ PrintWriter writer = new PrintWriter(PERMISSION_SCRIPT_FILE);
+ writer.write(PERMISSION_SCRIPT_CONTENT);
+ writer.close();
+ PERMISSION_SCRIPT_FILE.setExecutable(true, true);
}
/**
@@ -213,10 +246,23 @@
protected static String[] getFilePermissionAttrs(String path)
throws IOException {
- String output = Shell.execCommand("stat", path, "-c", "%A:%U:%G");
+ String[] command = {"bash",PERMISSION_SCRIPT_FILE.getAbsolutePath(), path};
+ String output=Shell.execCommand(command);
return output.split(":|\n");
}
+
+ /**
+ * Utility method to check permission of a given path. Requires the permission
+ * script directory to be setup in order to call.
+ *
+ *
+ * @param path
+ * @param expectedPermissions
+ * @param expectedOwnerUser
+ * @param expectedOwnerGroup
+ * @throws IOException
+ */
static void checkFilePermissions(String path, String expectedPermissions,
String expectedOwnerUser, String expectedOwnerGroup)
throws IOException {
Modified: hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTrackerDistributedCacheManagerWithLinuxTaskController.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTrackerDistributedCacheManagerWithLinuxTaskController.java?rev=889572&r1=889571&r2=889572&view=diff
==============================================================================
--- hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTrackerDistributedCacheManagerWithLinuxTaskController.java (original)
+++ hadoop/mapreduce/branches/branch-0.21/src/test/mapred/org/apache/hadoop/mapred/TestTrackerDistributedCacheManagerWithLinuxTaskController.java Fri Dec 11 11:09:23 2009
@@ -59,7 +59,10 @@
.getSimpleName()).getAbsolutePath();
super.setUp();
-
+ //set up for the permission checker script
+ TestTaskTrackerLocalization.setupPermissionScriptDir(new File(
+ TEST_ROOT_DIR));
+
taskController = new MyLinuxTaskController();
String path =
System.getProperty(ClusterWithLinuxTaskController.TASKCONTROLLER_PATH);