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 cd...@apache.org on 2008/08/18 22:54:32 UTC

svn commit: r686867 - in /hadoop/core/trunk: CHANGES.txt src/test/org/apache/hadoop/fs/TestCopyFiles.java src/tools/org/apache/hadoop/tools/DistCp.java

Author: cdouglas
Date: Mon Aug 18 13:54:31 2008
New Revision: 686867

URL: http://svn.apache.org/viewvc?rev=686867&view=rev
Log:
HADOOP-3957. Fix javac warnings in DistCp and TestCopyFiles. Contributed by Tsz Wo (Nicholas), SZE.

Modified:
    hadoop/core/trunk/CHANGES.txt
    hadoop/core/trunk/src/test/org/apache/hadoop/fs/TestCopyFiles.java
    hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java

Modified: hadoop/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=686867&r1=686866&r2=686867&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Mon Aug 18 13:54:31 2008
@@ -332,6 +332,9 @@
     HADOOP-3962. Shell command "fs -count" should support paths with different
     file systems. (Tsz Wo (Nicholas), SZE via mahadev)
 
+    HADOOP-3957. Fix javac warnings in DistCp and TestCopyFiles. (Tsz Wo
+    (Nicholas), SZE via cdouglas)
+
 Release 0.18.0 - 2008-08-19
 
   INCOMPATIBLE CHANGES

Modified: hadoop/core/trunk/src/test/org/apache/hadoop/fs/TestCopyFiles.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/test/org/apache/hadoop/fs/TestCopyFiles.java?rev=686867&r1=686866&r2=686867&view=diff
==============================================================================
--- hadoop/core/trunk/src/test/org/apache/hadoop/fs/TestCopyFiles.java (original)
+++ hadoop/core/trunk/src/test/org/apache/hadoop/fs/TestCopyFiles.java Mon Aug 18 13:54:31 2008
@@ -54,7 +54,7 @@
     ((Log4JLogger)DataNode.LOG).getLogger().setLevel(Level.OFF);
     ((Log4JLogger)FSNamesystem.LOG).getLogger().setLevel(Level.OFF);
     ((Log4JLogger)DistCp.LOG).getLogger().setLevel(Level.ALL);
-    ((Log4JLogger)FileSystem.LOG).getLogger().setLevel(Level.ALL);
+    //((Log4JLogger)FileSystem.LOG).getLogger().setLevel(Level.ALL);
   }
   
   static final URI LOCAL_FS = URI.create("file:///");
@@ -146,18 +146,9 @@
     return createFile(root, fs, -1);
   }
 
-  /** Same as checkFiles(fsname, topdir, files, false); */
-  private static boolean checkFiles(String fsname, String topdir, MyFile[] files)
-    throws IOException {
-    return checkFiles(fsname, topdir, files, false);
-  }
-
-  /** check if the files have been copied correctly. */
-  private static boolean checkFiles(String fsname, String topdir, MyFile[] files,
-      boolean existingOnly) throws IOException {
-    Configuration conf = new Configuration();
-    FileSystem fs = FileSystem.getNamed(fsname, conf);
-    return checkFiles(fs, topdir, files, existingOnly); 
+  private static boolean checkFiles(FileSystem fs, String topdir, MyFile[] files
+      ) throws IOException {
+    return checkFiles(fs, topdir, files, false);    
   }
 
   private static boolean checkFiles(FileSystem fs, String topdir, MyFile[] files,
@@ -193,12 +184,10 @@
     return true;
   }
 
-  private static void updateFiles(String fsname, String topdir, MyFile[] files,
+  private static void updateFiles(FileSystem fs, String topdir, MyFile[] files,
         int nupdate) throws IOException {
     assert nupdate <= NFILES;
 
-    Configuration conf = new Configuration();
-    FileSystem fs = FileSystem.getNamed(fsname, conf);
     Path root = new Path(topdir);
 
     for (int idx = 0; idx < nupdate; ++idx) {
@@ -215,14 +204,12 @@
     }
   }
 
-  private static FileStatus[] getFileStatus(String namenode,
+  private static FileStatus[] getFileStatus(FileSystem fs,
       String topdir, MyFile[] files) throws IOException {
-    return getFileStatus(namenode, topdir, files, false);
+    return getFileStatus(fs, topdir, files, false);
   }
-  private static FileStatus[] getFileStatus(String namenode,
+  private static FileStatus[] getFileStatus(FileSystem fs,
       String topdir, MyFile[] files, boolean existingOnly) throws IOException {
-    Configuration conf = new Configuration();
-    FileSystem fs = FileSystem.getNamed(namenode, conf);
     Path root = new Path(topdir);
     List<FileStatus> statuses = new ArrayList<FileStatus>();
     for (int idx = 0; idx < NFILES; ++idx) {
@@ -237,11 +224,8 @@
     return statuses.toArray(new FileStatus[statuses.size()]);
   }
 
-  private static boolean checkUpdate(FileStatus[] old, String namenode,
+  private static boolean checkUpdate(FileSystem fs, FileStatus[] old,
       String topdir, MyFile[] upd, final int nupdate) throws IOException {
-
-    Configuration conf = new Configuration();
-    FileSystem fs = FileSystem.getNamed(namenode, conf);
     Path root = new Path(topdir);
 
     // overwrote updated files
@@ -264,24 +248,22 @@
   }
 
   /** delete directory and everything underneath it.*/
-  private static void deldir(String fsname, String topdir)
-    throws IOException {
-    Configuration conf = new Configuration();
-    FileSystem fs = FileSystem.getNamed(fsname, conf);
-    Path root = new Path(topdir);
-    fs.delete(root, true);
+  private static void deldir(FileSystem fs, String topdir) throws IOException {
+    fs.delete(new Path(topdir), true);
   }
   
   /** copy files from local file system to local file system */
   public void testCopyFromLocalToLocal() throws Exception {
+    Configuration conf = new Configuration();
+    FileSystem localfs = FileSystem.get(LOCAL_FS, conf);
     MyFile[] files = createFiles(LOCAL_FS, TEST_ROOT_DIR+"/srcdat");
     ToolRunner.run(new DistCp(new Configuration()),
                            new String[] {"file:///"+TEST_ROOT_DIR+"/srcdat",
                                          "file:///"+TEST_ROOT_DIR+"/destdat"});
     assertTrue("Source and destination directories do not match.",
-               checkFiles("file:///", TEST_ROOT_DIR+"/destdat", files));
-    deldir("file:///", TEST_ROOT_DIR+"/destdat");
-    deldir("file:///", TEST_ROOT_DIR+"/srcdat");
+               checkFiles(localfs, TEST_ROOT_DIR+"/destdat", files));
+    deldir(localfs, TEST_ROOT_DIR+"/destdat");
+    deldir(localfs, TEST_ROOT_DIR+"/srcdat");
   }
   
   /** copy files from dfs file system to dfs file system */
@@ -291,6 +273,7 @@
     try {
       Configuration conf = new Configuration();
       cluster = new MiniDFSCluster(conf, 2, true, null);
+      final FileSystem hdfs = cluster.getFileSystem();
       namenode = FileSystem.getDefaultUri(conf).toString();
       if (namenode.startsWith("hdfs://")) {
         MyFile[] files = createFiles(URI.create(namenode), "/srcdat");
@@ -300,13 +283,13 @@
                                          namenode+"/srcdat",
                                          namenode+"/destdat"});
         assertTrue("Source and destination directories do not match.",
-                   checkFiles(namenode, "/destdat", files));
+                   checkFiles(hdfs, "/destdat", files));
         FileSystem fs = FileSystem.get(URI.create(namenode+"/logs"), conf);
         assertTrue("Log directory does not exist.",
                    fs.exists(new Path(namenode+"/logs")));
-        deldir(namenode, "/destdat");
-        deldir(namenode, "/srcdat");
-        deldir(namenode, "/logs");
+        deldir(hdfs, "/destdat");
+        deldir(hdfs, "/srcdat");
+        deldir(hdfs, "/logs");
       }
     } finally {
       if (cluster != null) { cluster.shutdown(); }
@@ -315,12 +298,12 @@
   
   /** copy files from local file system to dfs file system */
   public void testCopyFromLocalToDfs() throws Exception {
-    String namenode = null;
     MiniDFSCluster cluster = null;
     try {
       Configuration conf = new Configuration();
       cluster = new MiniDFSCluster(conf, 1, true, null);
-      namenode = FileSystem.getDefaultUri(conf).toString();
+      final FileSystem hdfs = cluster.getFileSystem();
+      final String namenode = hdfs.getUri().toString();
       if (namenode.startsWith("hdfs://")) {
         MyFile[] files = createFiles(LOCAL_FS, TEST_ROOT_DIR+"/srcdat");
         ToolRunner.run(new DistCp(conf), new String[] {
@@ -329,13 +312,12 @@
                                          "file:///"+TEST_ROOT_DIR+"/srcdat",
                                          namenode+"/destdat"});
         assertTrue("Source and destination directories do not match.",
-                   checkFiles(namenode, "/destdat", files));
-        FileSystem fs = FileSystem.get(URI.create(namenode+"/logs"), conf);
+                   checkFiles(cluster.getFileSystem(), "/destdat", files));
         assertTrue("Log directory does not exist.",
-                    fs.exists(new Path(namenode+"/logs")));
-        deldir(namenode, "/destdat");
-        deldir(namenode, "/logs");
-        deldir("file:///", TEST_ROOT_DIR+"/srcdat");
+                    hdfs.exists(new Path(namenode+"/logs")));
+        deldir(hdfs, "/destdat");
+        deldir(hdfs, "/logs");
+        deldir(FileSystem.get(LOCAL_FS, conf), TEST_ROOT_DIR+"/srcdat");
       }
     } finally {
       if (cluster != null) { cluster.shutdown(); }
@@ -344,12 +326,13 @@
 
   /** copy files from dfs file system to local file system */
   public void testCopyFromDfsToLocal() throws Exception {
-    String namenode = null;
     MiniDFSCluster cluster = null;
     try {
       Configuration conf = new Configuration();
+      final FileSystem localfs = FileSystem.get(LOCAL_FS, conf);
       cluster = new MiniDFSCluster(conf, 1, true, null);
-      namenode = FileSystem.getDefaultUri(conf).toString();
+      final FileSystem hdfs = cluster.getFileSystem();
+      final String namenode = FileSystem.getDefaultUri(conf).toString();
       if (namenode.startsWith("hdfs://")) {
         MyFile[] files = createFiles(URI.create(namenode), "/srcdat");
         ToolRunner.run(new DistCp(conf), new String[] {
@@ -358,13 +341,12 @@
                                          namenode+"/srcdat",
                                          "file:///"+TEST_ROOT_DIR+"/destdat"});
         assertTrue("Source and destination directories do not match.",
-                   checkFiles("file:///", TEST_ROOT_DIR+"/destdat", files));
-        FileSystem fs = FileSystem.get(URI.create(namenode+"/logs"), conf);
+                   checkFiles(localfs, TEST_ROOT_DIR+"/destdat", files));
         assertTrue("Log directory does not exist.",
-                    fs.exists(new Path("/logs")));
-        deldir("file:///", TEST_ROOT_DIR+"/destdat");
-        deldir(namenode, "/logs");
-        deldir(namenode, "/srcdat");
+                    hdfs.exists(new Path("/logs")));
+        deldir(localfs, TEST_ROOT_DIR+"/destdat");
+        deldir(hdfs, "/logs");
+        deldir(hdfs, "/srcdat");
       }
     } finally {
       if (cluster != null) { cluster.shutdown(); }
@@ -372,12 +354,12 @@
   }
 
   public void testCopyDfsToDfsUpdateOverwrite() throws Exception {
-    String namenode = null;
     MiniDFSCluster cluster = null;
     try {
       Configuration conf = new Configuration();
       cluster = new MiniDFSCluster(conf, 2, true, null);
-      namenode = FileSystem.getDefaultUri(conf).toString();
+      final FileSystem hdfs = cluster.getFileSystem();
+      final String namenode = hdfs.getUri().toString();
       if (namenode.startsWith("hdfs://")) {
         MyFile[] files = createFiles(URI.create(namenode), "/srcdat");
         ToolRunner.run(new DistCp(conf), new String[] {
@@ -387,15 +369,15 @@
                                          namenode+"/srcdat",
                                          namenode+"/destdat"});
         assertTrue("Source and destination directories do not match.",
-                   checkFiles(namenode, "/destdat", files));
+                   checkFiles(hdfs, "/destdat", files));
         FileSystem fs = FileSystem.get(URI.create(namenode+"/logs"), conf);
         assertTrue("Log directory does not exist.",
                     fs.exists(new Path(namenode+"/logs")));
 
-        FileStatus[] dchkpoint = getFileStatus(namenode, "/destdat", files);
+        FileStatus[] dchkpoint = getFileStatus(hdfs, "/destdat", files);
         final int nupdate = NFILES>>2;
-        updateFiles(namenode, "/srcdat", files, nupdate);
-        deldir(namenode, "/logs");
+        updateFiles(cluster.getFileSystem(), "/srcdat", files, nupdate);
+        deldir(hdfs, "/logs");
 
         ToolRunner.run(new DistCp(conf), new String[] {
                                          "-p",
@@ -405,11 +387,11 @@
                                          namenode+"/srcdat",
                                          namenode+"/destdat"});
         assertTrue("Source and destination directories do not match.",
-                   checkFiles(namenode, "/destdat", files));
+                   checkFiles(hdfs, "/destdat", files));
         assertTrue("Update failed to replicate all changes in src",
-                 checkUpdate(dchkpoint, namenode, "/destdat", files, nupdate));
+                 checkUpdate(hdfs, dchkpoint, "/destdat", files, nupdate));
 
-        deldir(namenode, "/logs");
+        deldir(hdfs, "/logs");
         ToolRunner.run(new DistCp(conf), new String[] {
                                          "-p",
                                          "-overwrite",
@@ -418,13 +400,13 @@
                                          namenode+"/srcdat",
                                          namenode+"/destdat"});
         assertTrue("Source and destination directories do not match.",
-                   checkFiles(namenode, "/destdat", files));
+                   checkFiles(hdfs, "/destdat", files));
         assertTrue("-overwrite didn't.",
-                 checkUpdate(dchkpoint, namenode, "/destdat", files, NFILES));
+                 checkUpdate(hdfs, dchkpoint, "/destdat", files, NFILES));
 
-        deldir(namenode, "/destdat");
-        deldir(namenode, "/srcdat");
-        deldir(namenode, "/logs");
+        deldir(hdfs, "/destdat");
+        deldir(hdfs, "/srcdat");
+        deldir(hdfs, "/logs");
       }
     } finally {
       if (cluster != null) { cluster.shutdown(); }
@@ -432,13 +414,14 @@
   }
 
   public void testCopyDuplication() throws Exception {
+    final FileSystem localfs = FileSystem.get(LOCAL_FS, new Configuration());
     try {    
-      MyFile[] files = createFiles(LOCAL_FS, TEST_ROOT_DIR+"/srcdat");
+      MyFile[] files = createFiles(localfs, TEST_ROOT_DIR+"/srcdat");
       ToolRunner.run(new DistCp(new Configuration()),
           new String[] {"file:///"+TEST_ROOT_DIR+"/srcdat",
                         "file:///"+TEST_ROOT_DIR+"/src2/srcdat"});
       assertTrue("Source and destination directories do not match.",
-                 checkFiles("file:///", TEST_ROOT_DIR+"/src2/srcdat", files));
+                 checkFiles(localfs, TEST_ROOT_DIR+"/src2/srcdat", files));
   
       assertEquals(DistCp.DuplicationException.ERROR_CODE,
           ToolRunner.run(new DistCp(new Configuration()),
@@ -447,9 +430,9 @@
                         "file:///"+TEST_ROOT_DIR+"/destdat",}));
     }
     finally {
-      deldir("file:///", TEST_ROOT_DIR+"/destdat");
-      deldir("file:///", TEST_ROOT_DIR+"/srcdat");
-      deldir("file:///", TEST_ROOT_DIR+"/src2");
+      deldir(localfs, TEST_ROOT_DIR+"/destdat");
+      deldir(localfs, TEST_ROOT_DIR+"/srcdat");
+      deldir(localfs, TEST_ROOT_DIR+"/src2");
     }
   }
 
@@ -463,7 +446,7 @@
           new String[] {"file:///"+TEST_ROOT_DIR+"/srcdat",
                         "file:///"+TEST_ROOT_DIR+"/destdat"});
       assertTrue("Source and destination directories do not match.",
-                 checkFiles("file:///", TEST_ROOT_DIR+"/destdat", files));
+                 checkFiles(fs, TEST_ROOT_DIR+"/destdat", files));
       
       //copy a single file
       String fname = files[0].getName();
@@ -473,9 +456,9 @@
           new String[] {"file:///"+TEST_ROOT_DIR+"/srcdat/"+fname,
                         "file:///"+TEST_ROOT_DIR+"/dest2/"+fname});
       assertTrue("Source and destination directories do not match.",
-          checkFiles("file:///", TEST_ROOT_DIR+"/dest2", files));     
+          checkFiles(fs, TEST_ROOT_DIR+"/dest2", files));     
       //copy single file to existing dir
-      deldir("file:///", TEST_ROOT_DIR+"/dest2");
+      deldir(fs, TEST_ROOT_DIR+"/dest2");
       fs.mkdirs(new Path(TEST_ROOT_DIR+"/dest2"));
       MyFile[] files2 = {createFile(root, fs, 0)};
       String sname = files2[0].getName();
@@ -484,20 +467,20 @@
                         "file:///"+TEST_ROOT_DIR+"/srcdat/"+sname,
                         "file:///"+TEST_ROOT_DIR+"/dest2/"});
       assertTrue("Source and destination directories do not match.",
-          checkFiles("file:///", TEST_ROOT_DIR+"/dest2", files2));     
-      updateFiles("file:///", TEST_ROOT_DIR+"/srcdat", files2, 1);
+          checkFiles(fs, TEST_ROOT_DIR+"/dest2", files2));     
+      updateFiles(fs, TEST_ROOT_DIR+"/srcdat", files2, 1);
       //copy single file to existing dir w/ dst name conflict
       ToolRunner.run(new DistCp(new Configuration()),
           new String[] {"-update",
                         "file:///"+TEST_ROOT_DIR+"/srcdat/"+sname,
                         "file:///"+TEST_ROOT_DIR+"/dest2/"});
       assertTrue("Source and destination directories do not match.",
-          checkFiles("file:///", TEST_ROOT_DIR+"/dest2", files2));     
+          checkFiles(fs, TEST_ROOT_DIR+"/dest2", files2));     
     }
     finally {
-      deldir("file:///", TEST_ROOT_DIR+"/destdat");
-      deldir("file:///", TEST_ROOT_DIR+"/dest2");
-      deldir("file:///", TEST_ROOT_DIR+"/srcdat");
+      deldir(fs, TEST_ROOT_DIR+"/destdat");
+      deldir(fs, TEST_ROOT_DIR+"/dest2");
+      deldir(fs, TEST_ROOT_DIR+"/srcdat");
     }
   }
 
@@ -511,45 +494,45 @@
 
       {//test preserving user
         MyFile[] files = createFiles(URI.create(nnUri), "/srcdat");
-        FileStatus[] srcstat = getFileStatus(nnUri, "/srcdat", files);
+        FileStatus[] srcstat = getFileStatus(fs, "/srcdat", files);
         for(int i = 0; i < srcstat.length; i++) {
           fs.setOwner(srcstat[i].getPath(), "u" + i, null);
         }
         ToolRunner.run(new DistCp(conf),
             new String[]{"-pu", nnUri+"/srcdat", nnUri+"/destdat"});
         assertTrue("Source and destination directories do not match.",
-                   checkFiles(nnUri, "/destdat", files));
+                   checkFiles(fs, "/destdat", files));
         
-        FileStatus[] dststat = getFileStatus(nnUri, "/destdat", files);
+        FileStatus[] dststat = getFileStatus(fs, "/destdat", files);
         for(int i = 0; i < dststat.length; i++) {
           assertEquals("i=" + i, "u" + i, dststat[i].getOwner());
         }
-        deldir(nnUri, "/destdat");
-        deldir(nnUri, "/srcdat");
+        deldir(fs, "/destdat");
+        deldir(fs, "/srcdat");
       }
 
       {//test preserving group
         MyFile[] files = createFiles(URI.create(nnUri), "/srcdat");
-        FileStatus[] srcstat = getFileStatus(nnUri, "/srcdat", files);
+        FileStatus[] srcstat = getFileStatus(fs, "/srcdat", files);
         for(int i = 0; i < srcstat.length; i++) {
           fs.setOwner(srcstat[i].getPath(), null, "g" + i);
         }
         ToolRunner.run(new DistCp(conf),
             new String[]{"-pg", nnUri+"/srcdat", nnUri+"/destdat"});
         assertTrue("Source and destination directories do not match.",
-                   checkFiles(nnUri, "/destdat", files));
+                   checkFiles(fs, "/destdat", files));
         
-        FileStatus[] dststat = getFileStatus(nnUri, "/destdat", files);
+        FileStatus[] dststat = getFileStatus(fs, "/destdat", files);
         for(int i = 0; i < dststat.length; i++) {
           assertEquals("i=" + i, "g" + i, dststat[i].getGroup());
         }
-        deldir(nnUri, "/destdat");
-        deldir(nnUri, "/srcdat");
+        deldir(fs, "/destdat");
+        deldir(fs, "/srcdat");
       }
 
       {//test preserving mode
         MyFile[] files = createFiles(URI.create(nnUri), "/srcdat");
-        FileStatus[] srcstat = getFileStatus(nnUri, "/srcdat", files);
+        FileStatus[] srcstat = getFileStatus(fs, "/srcdat", files);
         FsPermission[] permissions = new FsPermission[srcstat.length];
         for(int i = 0; i < srcstat.length; i++) {
           permissions[i] = new FsPermission((short)(i & 0666));
@@ -559,14 +542,14 @@
         ToolRunner.run(new DistCp(conf),
             new String[]{"-pp", nnUri+"/srcdat", nnUri+"/destdat"});
         assertTrue("Source and destination directories do not match.",
-                   checkFiles(nnUri, "/destdat", files));
+                   checkFiles(fs, "/destdat", files));
   
-        FileStatus[] dststat = getFileStatus(nnUri, "/destdat", files);
+        FileStatus[] dststat = getFileStatus(fs, "/destdat", files);
         for(int i = 0; i < dststat.length; i++) {
           assertEquals("i=" + i, permissions[i], dststat[i].getPermission());
         }
-        deldir(nnUri, "/destdat");
-        deldir(nnUri, "/srcdat");
+        deldir(fs, "/destdat");
+        deldir(fs, "/srcdat");
       }
     } finally {
       if (cluster != null) { cluster.shutdown(); }
@@ -597,13 +580,13 @@
                         namenode+"/srcdat",
                         namenode+"/destdat"});
       assertTrue("Source and destination directories do not match.",
-                 checkFiles(namenode, "/destdat", files));
+                 checkFiles(fs, "/destdat", files));
       FileStatus[] logs = fs.listStatus(new Path(namenode+"/logs"));
       // rare case where splits are exact, logs.length can be 4
       assertTrue("Unexpected map count", logs.length == 5 || logs.length == 4);
 
-      deldir(namenode, "/destdat");
-      deldir(namenode, "/logs");
+      deldir(fs, "/destdat");
+      deldir(fs, "/logs");
       ToolRunner.run(new DistCp(job),
           new String[] {"-m", "1",
                         "-log",
@@ -640,10 +623,10 @@
         ToolRunner.run(distcp,
             new String[]{"-filelimit", ""+filelimit, nnUri+srcrootdir, nnUri+dstrootdir});
         
-        FileStatus[] dststat = getFileStatus(nnUri, dstrootdir, files, true);
+        FileStatus[] dststat = getFileStatus(fs, dstrootdir, files, true);
         assertEquals(filelimit, dststat.length);
-        deldir(nnUri, dstrootdir);
-        deldir(nnUri, srcrootdir);
+        deldir(fs, dstrootdir);
+        deldir(fs, srcrootdir);
       }
 
       {//test -sizelimit
@@ -657,8 +640,8 @@
         ContentSummary summary = fs.getContentSummary(dstrootpath);
         System.out.println("summary=" + summary);
         assertTrue(summary.getLength() <= sizelimit);
-        deldir(nnUri, dstrootdir);
-        deldir(nnUri, srcrootdir);
+        deldir(fs, dstrootdir);
+        deldir(fs, srcrootdir);
       }
 
       {//test update
@@ -681,19 +664,19 @@
         for(int i = 0; i <= parts; i++) {
           ToolRunner.run(distcp, args);
         
-          FileStatus[] dststat = getFileStatus(nnUri, dstrootdir, srcs, true);
+          FileStatus[] dststat = getFileStatus(fs, dstrootdir, srcs, true);
           System.out.println(i + ") dststat.length=" + dststat.length);
           assertTrue(dststat.length - dstfilecount <= filelimit);
           ContentSummary summary = fs.getContentSummary(dstrootpath);
           System.out.println(i + ") summary.getLength()=" + summary.getLength());
           assertTrue(summary.getLength() - dstsize <= sizelimit);
-          assertTrue(checkFiles(nnUri, dstrootdir, srcs, true));
+          assertTrue(checkFiles(fs, dstrootdir, srcs, true));
           dstfilecount = dststat.length;
           dstsize = summary.getLength();
         }
 
-        deldir(nnUri, dstrootdir);
-        deldir(nnUri, srcrootdir);
+        deldir(fs, dstrootdir);
+        deldir(fs, srcrootdir);
       }
     } finally {
       if (cluster != null) { cluster.shutdown(); }

Modified: hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java?rev=686867&r1=686866&r2=686867&view=diff
==============================================================================
--- hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java (original)
+++ hadoop/core/trunk/src/tools/org/apache/hadoop/tools/DistCp.java Mon Aug 18 13:54:31 2008
@@ -299,7 +299,7 @@
    * FSCopyFilesMapper: The mapper for copying files between FileSystems.
    */
   static class CopyFilesMapper
-      implements Mapper<LongWritable, FilePair, WritableComparable, Text> {
+      implements Mapper<LongWritable, FilePair, WritableComparable<?>, Text> {
     // config
     private int sizeBuf = 128 * 1024;
     private FileSystem destFileSys = null;
@@ -360,7 +360,7 @@
      * @param reporter
      */
     private void copy(FileStatus srcstat, Path relativedst,
-        OutputCollector<WritableComparable, Text> outc, Reporter reporter)
+        OutputCollector<WritableComparable<?>, Text> outc, Reporter reporter)
         throws IOException {
       Path absdst = new Path(destPath, relativedst);
       int totfiles = job.getInt(SRC_COUNT_LABEL, -1);
@@ -520,7 +520,7 @@
      */
     public void map(LongWritable key,
                     FilePair value,
-                    OutputCollector<WritableComparable, Text> out,
+                    OutputCollector<WritableComparable<?>, Text> out,
                     Reporter reporter) throws IOException {
       FileStatus srcstat = value.input;
       Path dstpath = new Path(value.output);