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 sh...@apache.org on 2008/03/28 21:47:05 UTC
svn commit: r642372 - in /hadoop/core/branches/branch-0.16: CHANGES.txt
src/java/org/apache/hadoop/dfs/DistributedFileSystem.java
src/test/org/apache/hadoop/security/TestPermission.java
Author: shv
Date: Fri Mar 28 13:47:02 2008
New Revision: 642372
URL: http://svn.apache.org/viewvc?rev=642372&view=rev
Log:
HADOOP-3108. Correction to the previous patch. Contributed by Konstantin Shvachko.
Modified:
hadoop/core/branches/branch-0.16/CHANGES.txt
hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/dfs/DistributedFileSystem.java
hadoop/core/branches/branch-0.16/src/test/org/apache/hadoop/security/TestPermission.java
Modified: hadoop/core/branches/branch-0.16/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.16/CHANGES.txt?rev=642372&r1=642371&r2=642372&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.16/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.16/CHANGES.txt Fri Mar 28 13:47:02 2008
@@ -851,6 +851,8 @@
HADOOP-3108. Fix NPE in setPermission and setOwner. (shv)
+ HADOOP-3108. Correction to the previous patch. (shv)
+
Release 0.15.3 - 2008-01-18
BUG FIXES
Modified: hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/dfs/DistributedFileSystem.java
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/dfs/DistributedFileSystem.java?rev=642372&r1=642371&r2=642372&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/dfs/DistributedFileSystem.java (original)
+++ hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/dfs/DistributedFileSystem.java Fri Mar 28 13:47:02 2008
@@ -352,7 +352,13 @@
/** {@inheritDoc }*/
public void setPermission(Path p, FsPermission permission
) throws IOException {
- dfs.namenode.setPermission(getPathName(p), permission);
+ try {
+ dfs.namenode.setPermission(getPathName(p), permission);
+ } catch(RemoteException re) {
+ if(FileNotFoundException.class.getName().equals(re.getClassName())) {
+ throw new FileNotFoundException("File does not exist: " + p);
+ }
+ }
}
/** {@inheritDoc }*/
@@ -361,6 +367,12 @@
if (username == null && groupname == null) {
throw new IOException("username == null && groupname == null");
}
- dfs.namenode.setOwner(getPathName(p), username, groupname);
+ try {
+ dfs.namenode.setOwner(getPathName(p), username, groupname);
+ } catch(RemoteException re) {
+ if(FileNotFoundException.class.getName().equals(re.getClassName())) {
+ throw new FileNotFoundException("File does not exist: " + p);
+ }
+ }
}
}
Modified: hadoop/core/branches/branch-0.16/src/test/org/apache/hadoop/security/TestPermission.java
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.16/src/test/org/apache/hadoop/security/TestPermission.java?rev=642372&r1=642371&r2=642372&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.16/src/test/org/apache/hadoop/security/TestPermission.java (original)
+++ hadoop/core/branches/branch-0.16/src/test/org/apache/hadoop/security/TestPermission.java Fri Mar 28 13:47:02 2008
@@ -119,22 +119,22 @@
FileSystem fs = FileSystem.get(conf);
try {
- // test permissions on files that do not exist
- assertFalse(fs.exists(CHILD_FILE1));
- try {
- fs.setOwner(CHILD_FILE1, "foo", "bar");
- assertTrue(false);
- }
- catch(java.io.FileNotFoundException e) {
- LOG.info("GOOD: got " + e);
- }
- try {
- fs.setPermission(CHILD_FILE1, new FsPermission((short)0777));
- assertTrue(false);
- }
- catch(java.io.FileNotFoundException e) {
- LOG.info("GOOD: got " + e);
- }
+ // test permissions on files that do not exist
+ assertFalse(fs.exists(CHILD_FILE1));
+ try {
+ fs.setOwner(CHILD_FILE1, "foo", "bar");
+ assertTrue(false);
+ }
+ catch(java.io.FileNotFoundException e) {
+ LOG.info("GOOD: got " + e);
+ }
+ try {
+ fs.setPermission(CHILD_FILE1, new FsPermission((short)0777));
+ assertTrue(false);
+ }
+ catch(java.io.FileNotFoundException e) {
+ LOG.info("GOOD: got " + e);
+ }
// following dir/file creations are legal
fs.mkdirs(CHILD_DIR1);
FSDataOutputStream out = fs.create(CHILD_FILE1);