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 sz...@apache.org on 2011/04/14 22:46:55 UTC
svn commit: r1092508 - in /hadoop/hdfs/branches/branch-0.22: ./
src/java/org/apache/hadoop/hdfs/server/namenode/
src/test/hdfs/org/apache/hadoop/fs/
Author: szetszwo
Date: Thu Apr 14 20:46:55 2011
New Revision: 1092508
URL: http://svn.apache.org/viewvc?rev=1092508&view=rev
Log:
HDFS-1821. Fix username resolution in NameNode.createSymlink(..) and FSDirectory.addSymlink(..). Contributed by John George
Modified:
hadoop/hdfs/branches/branch-0.22/CHANGES.txt
hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java
hadoop/hdfs/branches/branch-0.22/src/test/hdfs/org/apache/hadoop/fs/TestFcHdfsSymlink.java
Modified: hadoop/hdfs/branches/branch-0.22/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.22/CHANGES.txt?rev=1092508&r1=1092507&r2=1092508&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.22/CHANGES.txt (original)
+++ hadoop/hdfs/branches/branch-0.22/CHANGES.txt Thu Apr 14 20:46:55 2011
@@ -456,9 +456,12 @@ Release 0.22.0 - Unreleased
HDFS-1781. Fix the path for jsvc in bin/hdfs. (John George via szetszwo)
- HDFS-1782. Fix an NPE in RFSNamesystem.startFileInternal(..).
+ HDFS-1782. Fix an NPE in FSNamesystem.startFileInternal(..).
(John George via szetszwo)
+ HDFS-1821. Fix username resolution in NameNode.createSymlink(..) and
+ FSDirectory.addSymlink(..). (John George via szetszwo)
+
Release 0.21.1 - Unreleased
IMPROVEMENTS
Modified: hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java?rev=1092508&r1=1092507&r2=1092508&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java (original)
+++ hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java Thu Apr 14 20:46:55 2011
@@ -2034,7 +2034,7 @@ class FSDirectory implements Closeable {
return null;
}
}
- final String userName = UserGroupInformation.getCurrentUser().getUserName();
+ final String userName = dirPerms.getUserName();
INodeSymlink newNode = unprotectedSymlink(path, target, modTime, modTime,
new PermissionStatus(userName, null, FsPermission.getDefault()));
if (newNode == null) {
Modified: hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java?rev=1092508&r1=1092507&r2=1092508&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java (original)
+++ hadoop/hdfs/branches/branch-0.22/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java Thu Apr 14 20:46:55 2011
@@ -1180,7 +1180,7 @@ public class NameNode implements Namenod
}
final UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
namesystem.createSymlink(target, link,
- new PermissionStatus(ugi.getUserName(), null, dirPerms), createParent);
+ new PermissionStatus(ugi.getShortUserName(), null, dirPerms), createParent);
}
/** @inheritDoc */
Modified: hadoop/hdfs/branches/branch-0.22/src/test/hdfs/org/apache/hadoop/fs/TestFcHdfsSymlink.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.22/src/test/hdfs/org/apache/hadoop/fs/TestFcHdfsSymlink.java?rev=1092508&r1=1092507&r2=1092508&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.22/src/test/hdfs/org/apache/hadoop/fs/TestFcHdfsSymlink.java (original)
+++ hadoop/hdfs/branches/branch-0.22/src/test/hdfs/org/apache/hadoop/fs/TestFcHdfsSymlink.java Thu Apr 14 20:46:55 2011
@@ -241,5 +241,17 @@ public class TestFcHdfsSymlink extends F
} catch (IOException x) {
// Expected
}
- }
-}
\ No newline at end of file
+ }
+
+ @Test
+ /** Test symlink owner */
+ public void testLinkOwner() throws IOException {
+ Path file = new Path(testBaseDir1(), "file");
+ Path link = new Path(testBaseDir1(), "symlinkToFile");
+ createAndWriteFile(file);
+ fc.createSymlink(file, link, false);
+ FileStatus stat_file = fc.getFileStatus(file);
+ FileStatus stat_link = fc.getFileStatus(link);
+ assertEquals(stat_link.getOwner(), stat_file.getOwner());
+ }
+}