You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cn...@apache.org on 2014/02/21 19:42:07 UTC
svn commit: r1570655 - in
/hadoop/common/trunk/hadoop-common-project/hadoop-common: CHANGES.txt
src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
src/main/java/org/apache/hadoop/fs/permission/FsPermission.java
Author: cnauroth
Date: Fri Feb 21 18:42:06 2014
New Revision: 1570655
URL: http://svn.apache.org/r1570655
Log:
HADOOP-10354. TestWebHDFS fails after merge of HDFS-4685 to trunk. Contributed by Chris Nauroth.
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1570655&r1=1570654&r2=1570655&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Fri Feb 21 18:42:06 2014
@@ -329,6 +329,8 @@ Trunk (Unreleased)
HADOOP-10352. Recursive setfacl erroneously attempts to apply default ACL to
files. (cnauroth)
+ HADOOP-10354. TestWebHDFS fails after merge of HDFS-4685 to trunk. (cnauroth)
+
OPTIMIZATIONS
HADOOP-7761. Improve the performance of raw comparisons. (todd)
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java?rev=1570655&r1=1570654&r2=1570655&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java Fri Feb 21 18:42:06 2014
@@ -569,6 +569,11 @@ public class RawLocalFileSystem extends
//expected format
//-rw------- 1 username groupname ...
String permission = t.nextToken();
+ if (permission.length() > FsPermission.MAX_PERMISSION_LENGTH) {
+ //files with ACLs might have a '+'
+ permission = permission.substring(0,
+ FsPermission.MAX_PERMISSION_LENGTH);
+ }
setPermission(FsPermission.valueOf(permission));
t.nextToken();
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java?rev=1570655&r1=1570654&r2=1570655&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java Fri Feb 21 18:42:06 2014
@@ -48,6 +48,9 @@ public class FsPermission implements Wri
WritableFactories.setFactory(ImmutableFsPermission.class, FACTORY);
}
+ /** Maximum acceptable length of a permission string to parse */
+ public static final int MAX_PERMISSION_LENGTH = 10;
+
/** Create an immutable {@link FsPermission} object. */
public static FsPermission createImmutable(short permission) {
return new ImmutableFsPermission(permission);
@@ -319,9 +322,10 @@ public class FsPermission implements Wri
if (unixSymbolicPermission == null) {
return null;
}
- else if (unixSymbolicPermission.length() != 10) {
- throw new IllegalArgumentException("length != 10(unixSymbolicPermission="
- + unixSymbolicPermission + ")");
+ else if (unixSymbolicPermission.length() != MAX_PERMISSION_LENGTH) {
+ throw new IllegalArgumentException(String.format(
+ "length != %d(unixSymbolicPermission=%s)", MAX_PERMISSION_LENGTH,
+ unixSymbolicPermission));
}
int n = 0;