Selaa lähdekoodia

HADOOP-3348. TestUrlStreamHandler should set URLStreamFactory after
DataNodes are initialized. (Lohit Vijayarenu via rangadi)


git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/trunk@654897 13f79535-47bb-0310-9956-ffa450edef68

Raghu Angadi 17 vuotta sitten
vanhempi
commit
4a6f9337c6
2 muutettua tiedostoa jossa 12 lisäystä ja 8 poistoa
  1. 3 0
      CHANGES.txt
  2. 9 8
      src/test/org/apache/hadoop/fs/TestUrlStreamHandler.java

+ 3 - 0
CHANGES.txt

@@ -206,6 +206,9 @@ Trunk (unreleased changes)
     HADOOP-3309. Lower io.sort.mb and fs.inmemory.size.mb for MiniMRDFSSort
     unit test so it passes on Windows. (lohit vijayarenu via cdouglas)
 
+    HADOOP-3348. TestUrlStreamHandler should set URLStreamFactory after
+    DataNodes are initialized. (Lohit Vijayarenu via rangadi)
+
 Release 0.17.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 9 - 8
src/test/org/apache/hadoop/fs/TestUrlStreamHandler.java

@@ -38,13 +38,6 @@ import org.apache.hadoop.fs.Path;
  */
 public class TestUrlStreamHandler extends TestCase {
 
-  static {
-    // Setup our own factory
-    FsUrlStreamHandlerFactory factory =
-        new org.apache.hadoop.fs.FsUrlStreamHandlerFactory();
-    java.net.URL.setURLStreamHandlerFactory(factory);
-  }
-
   /**
    * Test opening and reading from an InputStream through a hdfs:// URL.
    * <p>
@@ -59,6 +52,14 @@ public class TestUrlStreamHandler extends TestCase {
     MiniDFSCluster cluster = new MiniDFSCluster(conf, 2, true, null);
     FileSystem fs = cluster.getFileSystem();
 
+    // Setup our own factory
+    // setURLSteramHandlerFactor is can be set at most once in the JVM
+    // the new URLStreamHandler is valid for all tests cases 
+    // in TestStreamHandler
+    FsUrlStreamHandlerFactory factory =
+        new org.apache.hadoop.fs.FsUrlStreamHandlerFactory();
+    java.net.URL.setURLStreamHandlerFactory(factory);
+
     Path filePath = new Path("/thefile");
 
     try {
@@ -104,7 +105,7 @@ public class TestUrlStreamHandler extends TestCase {
    * @throws URISyntaxException
    */
   public void testFileUrls() throws IOException, URISyntaxException {
-
+    // URLStreamHandler is already set in JVM by testDfsUrls() 
     Configuration conf = new Configuration();
 
     // Locate the test temporary directory.