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 to...@apache.org on 2010/05/31 20:57:22 UTC

svn commit: r949833 - in /hadoop/hdfs/branches/branch-0.21: ./ src/contrib/thriftfs/src/java/org/apache/hadoop/thriftfs/ src/java/org/apache/hadoop/hdfs/ src/java/org/apache/hadoop/hdfs/server/namenode/ src/test/hdfs/org/apache/hadoop/hdfs/ src/test/hd...

Author: tomwhite
Date: Mon May 31 18:57:21 2010
New Revision: 949833

URL: http://svn.apache.org/viewvc?rev=949833&view=rev
Log:
Merge -r 949826:949827 from trunk to 0.21 branch. Fixes: HDFS-995

Modified:
    hadoop/hdfs/branches/branch-0.21/CHANGES.txt
    hadoop/hdfs/branches/branch-0.21/src/contrib/thriftfs/src/java/org/apache/hadoop/thriftfs/HadoopThriftServer.java
    hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/HftpFileSystem.java
    hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
    hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSClientRetries.java
    hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSShell.java
    hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSUpgradeFromImage.java
    hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileCreation.java
    hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java
    hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestListPathServlet.java
    hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestFileLimit.java
    hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java
    hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/security/TestPermission.java
    hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestDataDirs.java

Modified: hadoop/hdfs/branches/branch-0.21/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/CHANGES.txt?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/CHANGES.txt (original)
+++ hadoop/hdfs/branches/branch-0.21/CHANGES.txt Mon May 31 18:57:21 2010
@@ -500,6 +500,9 @@ Release 0.21.0 - Unreleased
     HDFS-1126. Change HDFS to depend on Hadoop 'common' artifacts instead
     of 'core'. (tomwhite)
 
+    HDFS-995.  Replace usage of FileStatus#isDir().  (Eli Collins via
+    tomwhite)
+
   OPTIMIZATIONS
 
     HDFS-946. NameNode should not return full path name when lisitng a

Modified: hadoop/hdfs/branches/branch-0.21/src/contrib/thriftfs/src/java/org/apache/hadoop/thriftfs/HadoopThriftServer.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/contrib/thriftfs/src/java/org/apache/hadoop/thriftfs/HadoopThriftServer.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/contrib/thriftfs/src/java/org/apache/hadoop/thriftfs/HadoopThriftServer.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/contrib/thriftfs/src/java/org/apache/hadoop/thriftfs/HadoopThriftServer.java Mon May 31 18:57:21 2010
@@ -415,7 +415,7 @@ public class HadoopThriftServer extends 
         return new org.apache.hadoop.thriftfs.api.FileStatus(
           stat.getPath().toString(),
           stat.getLen(),
-          stat.isDir(),
+          stat.isDirectory(),
           stat.getReplication(),
           stat.getBlockSize(),
           stat.getModificationTime(),
@@ -448,7 +448,7 @@ public class HadoopThriftServer extends 
           tmp = new org.apache.hadoop.thriftfs.api.FileStatus(
                       stat[i].getPath().toString(),
                       stat[i].getLen(),
-                      stat[i].isDir(),
+                      stat[i].isDirectory(),
                       stat[i].getReplication(),
                       stat[i].getBlockSize(),
                       stat[i].getModificationTime(),

Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/HftpFileSystem.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/HftpFileSystem.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/HftpFileSystem.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/HftpFileSystem.java Mon May 31 18:57:21 2010
@@ -220,7 +220,7 @@ public class HftpFileSystem extends File
 
     public FileStatus[] listStatus(Path f, boolean recur) throws IOException {
       fetchList(f.toUri().getPath(), recur);
-      if (fslist.size() > 0 && (fslist.size() != 1 || fslist.get(0).isDir())) {
+      if (fslist.size() > 0 && (fslist.size() != 1 || fslist.get(0).isDirectory())) {
         fslist.remove(0);
       }
       return fslist.toArray(new FileStatus[0]);

Modified: hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java Mon May 31 18:57:21 2010
@@ -602,9 +602,10 @@ class FSDirectory implements Closeable {
         throw new IOException(error);
       }
       if (dstInode != null) { // Destination exists
+        // It's OK to rename a file to a symlink and vice versa
         if (dstInode.isDirectory() != srcInode.isDirectory()) {
-          error = "Source " + src + " Destination " + dst
-              + " both should be either file or directory";
+          error = "Source " + src + " and destination " + dst
+              + " must both be directories";
           NameNode.stateChangeLog.warn("DIR* FSDirectory.unprotectedRenameTo: "
               + error);
           throw new IOException(error);

Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSClientRetries.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSClientRetries.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSClientRetries.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSClientRetries.java Mon May 31 18:57:21 2010
@@ -400,7 +400,7 @@ public class TestDFSClientRetries extend
       
       // verify that file exists in FS namespace
       assertTrue(file1 + " should be a file", 
-                  fs.getFileStatus(file1).isDir() == false);
+                  fs.getFileStatus(file1).isFile());
       System.out.println("Path : \"" + file1 + "\"");
       LOG.info("Path : \"" + file1 + "\"");
 

Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSShell.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSShell.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSShell.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSShell.java Mon May 31 18:57:21 2010
@@ -73,7 +73,7 @@ public class TestDFSShell extends TestCa
   static Path mkdir(FileSystem fs, Path p) throws IOException {
     assertTrue(fs.mkdirs(p));
     assertTrue(fs.exists(p));
-    assertTrue(fs.getFileStatus(p).isDir());
+    assertTrue(fs.getFileStatus(p).isDirectory());
     return p;
   }
 

Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSUpgradeFromImage.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSUpgradeFromImage.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSUpgradeFromImage.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestDFSUpgradeFromImage.java Mon May 31 18:57:21 2010
@@ -134,7 +134,7 @@ public class TestDFSUpgradeFromImage ext
     TreeMap<Path, Boolean> fileMap = new TreeMap<Path, Boolean>();
     
     for(FileStatus file : fileArr) {
-      fileMap.put(file.getPath(), Boolean.valueOf(file.isDir()));
+      fileMap.put(file.getPath(), Boolean.valueOf(file.isDirectory()));
     }
     
     for(Iterator<Path> it = fileMap.keySet().iterator(); it.hasNext();) {

Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileCreation.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileCreation.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileCreation.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileCreation.java Mon May 31 18:57:21 2010
@@ -169,9 +169,9 @@ public class TestFileCreation extends ju
       //
       Path path = new Path("/");
       System.out.println("Path : \"" + path.toString() + "\"");
-      System.out.println(fs.getFileStatus(path).isDir()); 
+      System.out.println(fs.getFileStatus(path).isDirectory()); 
       assertTrue("/ should be a directory", 
-                 fs.getFileStatus(path).isDir() == true);
+                 fs.getFileStatus(path).isDirectory());
 
       //
       // Create a directory inside /, then try to overwrite it
@@ -200,7 +200,7 @@ public class TestFileCreation extends ju
 
       // verify that file exists in FS namespace
       assertTrue(file1 + " should be a file", 
-                  fs.getFileStatus(file1).isDir() == false);
+                 fs.getFileStatus(file1).isFile());
       System.out.println("Path : \"" + file1 + "\"");
 
       // write to file
@@ -320,7 +320,7 @@ public class TestFileCreation extends ju
 
       // verify that file exists in FS namespace
       assertTrue(file1 + " should be a file", 
-                  fs.getFileStatus(file1).isDir() == false);
+                 fs.getFileStatus(file1).isFile());
       System.out.println("Path : \"" + file1 + "\"");
 
       // kill the datanode

Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestFileStatus.java Mon May 31 18:57:21 2010
@@ -89,7 +89,7 @@ public class TestFileStatus extends Test
       Path path = new Path("/");
       System.out.println("Path : \"" + path.toString() + "\"");
       assertTrue("/ should be a directory", 
-                 fs.getFileStatus(path).isDir() == true);
+                 fs.getFileStatus(path).isDirectory() == true);
       
       // make sure getFileInfo returns null for files which do not exist
       HdfsFileStatus fileInfo = dfsClient.getFileInfo("/noSuchFile");
@@ -116,7 +116,7 @@ public class TestFileStatus extends Test
       // test getFileStatus on a file
       FileStatus status = fs.getFileStatus(file1);
       assertTrue(file1 + " should be a file", 
-                  status.isDir() == false);
+                  status.isDirectory() == false);
       assertTrue(status.getBlockSize() == blockSize);
       assertTrue(status.getReplication() == 1);
       assertTrue(status.getLen() == fileSize);
@@ -129,7 +129,7 @@ public class TestFileStatus extends Test
       assertEquals(1, stats.length);
       status = stats[0];
       assertTrue(file1 + " should be a file", 
-          status.isDir() == false);
+          status.isDirectory() == false);
       assertTrue(status.getBlockSize() == blockSize);
       assertTrue(status.getReplication() == 1);
       assertTrue(status.getLen() == fileSize);
@@ -141,7 +141,7 @@ public class TestFileStatus extends Test
       status = itor.next();
       assertEquals(stats[0], status);
       assertTrue(file1 + " should be a file", 
-          status.isDir() == false);
+          status.isDirectory() == false);
 
       // test file status on a directory
       Path dir = new Path("/test/mkdirs");
@@ -174,7 +174,7 @@ public class TestFileStatus extends Test
       
       // test getFileStatus on an empty directory
       status = fs.getFileStatus(dir);
-      assertTrue(dir + " should be a directory", status.isDir());
+      assertTrue(dir + " should be a directory", status.isDirectory());
       assertTrue(dir + " should be zero size ", status.getLen() == 0);
       assertEquals(dir.makeQualified(fs.getUri(), 
           fs.getWorkingDirectory()).toString(), 

Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestListPathServlet.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestListPathServlet.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestListPathServlet.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/TestListPathServlet.java Mon May 31 18:57:21 2010
@@ -114,7 +114,8 @@ public class TestListPathServlet {
     }
     for (FileStatus status : statuslist) {
       System.out.println("status:" + status.getPath().toString() + " type "
-          + (status.isDir() ? "directory" : "file"));
+          + (status.isDirectory() ? "directory" 
+                                  : ( status.isFile() ? "file" : "symlink")));
     }
     for (String file : filelist) {
       boolean found = false;

Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestFileLimit.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestFileLimit.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestFileLimit.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestFileLimit.java Mon May 31 18:57:21 2010
@@ -95,7 +95,7 @@ public class TestFileLimit extends TestC
       //
       Path path = new Path("/");
       assertTrue("/ should be a directory", 
-                 fs.getFileStatus(path).isDir() == true);
+                 fs.getFileStatus(path).isDirectory());
       currentNodes = 1;          // root inode
 
       // verify that we can create the specified number of files. We leave

Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java Mon May 31 18:57:21 2010
@@ -259,7 +259,7 @@ public class TestOfflineImageViewer exte
   // the output of the ls file from the image processor
   private void compareFiles(FileStatus fs, LsElements elements) {
     assertEquals("directory listed as such",  
-                                        fs.isDir() ? 'd' : '-', elements.dir);
+                 fs.isDirectory() ? 'd' : '-', elements.dir);
     assertEquals("perms string equal", 
                                 fs.getPermission().toString(), elements.perms);
     assertEquals("replication equal", fs.getReplication(), elements.replication);

Modified: hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/security/TestPermission.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/security/TestPermission.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/security/TestPermission.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/hdfs/org/apache/hadoop/security/TestPermission.java Mon May 31 18:57:21 2010
@@ -52,7 +52,7 @@ public class TestPermission extends Test
   static FsPermission checkPermission(FileSystem fs,
       String path, FsPermission expected) throws IOException {
     FileStatus s = fs.getFileStatus(new Path(path));
-    LOG.info(s.getPath() + ": " + s.isDir() + " " + s.getPermission()
+    LOG.info(s.getPath() + ": " + s.isDirectory() + " " + s.getPermission()
         + ":" + s.getOwner() + ":" + s.getGroup());
     if (expected != null) {
       assertEquals(expected, s.getPermission());

Modified: hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestDataDirs.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestDataDirs.java?rev=949833&r1=949832&r2=949833&view=diff
==============================================================================
--- hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestDataDirs.java (original)
+++ hadoop/hdfs/branches/branch-0.21/src/test/unit/org/apache/hadoop/hdfs/server/datanode/TestDataDirs.java Mon May 31 18:57:21 2010
@@ -43,7 +43,7 @@ public class TestDataDirs {
     FsPermission badPerm = new FsPermission("000");
     FileStatus stat = make(stub(FileStatus.class)
         .returning(normalPerm, normalPerm, badPerm).from.getPermission());
-    when(stat.isDir()).thenReturn(true);
+    when(stat.isDirectory()).thenReturn(true);
     LocalFileSystem fs = make(stub(LocalFileSystem.class)
         .returning(stat).from.getFileStatus(any(Path.class)));
     when(fs.pathToFile(any(Path.class))).thenReturn(localDir);