HADOOP-10354. TestWebHDFS fails after merge of HDFS-4685 to trunk. Contributed by Chris Nauroth.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1570655 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
19f870858e
commit
58fb83d982
@ -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)
|
||||
|
@ -569,6 +569,11 @@ private void loadPermissionInfo() {
|
||||
//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();
|
||||
|
||||
|
@ -48,6 +48,9 @@ public class FsPermission implements Writable {
|
||||
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 static FsPermission valueOf(String unixSymbolicPermission) {
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user