You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by tu...@apache.org on 2012/04/27 18:30:23 UTC
svn commit: r1331493 - in /hadoop/common/trunk/hadoop-hdfs-project:
hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/
hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/client/
hadoop-hdfs/
Author: tucu
Date: Fri Apr 27 16:30:22 2012
New Revision: 1331493
URL: http://svn.apache.org/viewvc?rev=1331493&view=rev
Log:
HDFS-3309. HttpFS (Hoop) chmod not supporting octal and sticky bit permissions. (tucu)
Modified:
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParams.java
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/client/TestHttpFSFileSystem.java
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java?rev=1331493&r1=1331492&r2=1331493&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java Fri Apr 27 16:30:22 2012
@@ -43,8 +43,8 @@ import java.util.Map;
public class FSOperations {
/**
- * Converts a Unix permission octal & symbolic representation
- * (i.e. 655 or -rwxr--r--) into a FileSystemAccess permission.
+ * Converts a Unix permission octal
+ * (i.e. 655 or 1777) into a FileSystemAccess permission.
*
* @param str Unix permission symbolic representation.
*
@@ -55,10 +55,8 @@ public class FSOperations {
FsPermission permission;
if (str.equals(HttpFSFileSystem.DEFAULT_PERMISSION)) {
permission = FsPermission.getDefault();
- } else if (str.length() == 3) {
- permission = new FsPermission(Short.parseShort(str, 8));
} else {
- permission = FsPermission.valueOf(str);
+ permission = new FsPermission(Short.parseShort(str, 8));
}
return permission;
}
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParams.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParams.java?rev=1331493&r1=1331492&r2=1331493&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParams.java (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParams.java Fri Apr 27 16:30:22 2012
@@ -446,7 +446,7 @@ public class HttpFSParams {
* Symbolic Unix permissions regular expression pattern.
*/
private static final Pattern PERMISSION_PATTERN =
- Pattern.compile(DEFAULT + "|(-[-r][-w][-x][-r][-w][-x][-r][-w][-x])" + "|[0-7][0-7][0-7]");
+ Pattern.compile(DEFAULT + "|[0-1]?[0-7][0-7][0-7]");
/**
* Constructor.
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/client/TestHttpFSFileSystem.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/client/TestHttpFSFileSystem.java?rev=1331493&r1=1331492&r2=1331493&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/client/TestHttpFSFileSystem.java (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/client/TestHttpFSFileSystem.java Fri Apr 27 16:30:22 2012
@@ -310,11 +310,8 @@ public class TestHttpFSFileSystem extend
private void testSetPermission() throws Exception {
FileSystem fs = FileSystem.get(TestHdfsHelper.getHdfsConf());
- Path path = new Path(TestHdfsHelper.getHdfsTestDir(), "foo.txt");
- OutputStream os = fs.create(path);
- os.write(1);
- os.close();
- fs.close();
+ Path path = new Path(TestHdfsHelper.getHdfsTestDir(), "foodir");
+ fs.mkdirs(path);
fs = getHttpFileSystem();
FsPermission permission1 = new FsPermission(FsAction.READ_WRITE, FsAction.NONE, FsAction.NONE);
@@ -326,6 +323,19 @@ public class TestHttpFSFileSystem extend
fs.close();
FsPermission permission2 = status1.getPermission();
Assert.assertEquals(permission2, permission1);
+
+ //sticky bit
+ fs = getHttpFileSystem();
+ permission1 = new FsPermission(FsAction.READ_WRITE, FsAction.NONE, FsAction.NONE, true);
+ fs.setPermission(path, permission1);
+ fs.close();
+
+ fs = FileSystem.get(TestHdfsHelper.getHdfsConf());
+ status1 = fs.getFileStatus(path);
+ fs.close();
+ permission2 = status1.getPermission();
+ Assert.assertTrue(permission2.getStickyBit());
+ Assert.assertEquals(permission2, permission1);
}
private void testSetOwner() throws Exception {
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1331493&r1=1331492&r2=1331493&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Fri Apr 27 16:30:22 2012
@@ -567,6 +567,9 @@ Release 2.0.0 - UNRELEASED
HDFS-3181. Fix a test case in TestLeaseRecovery2. (szetszwo)
+ HDFS-3309. HttpFS (Hoop) chmod not supporting octal and sticky bit
+ permissions. (tucu)
+
BREAKDOWN OF HDFS-1623 SUBTASKS
HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd)