1
0
Prechádzať zdrojové kódy

HDFS-6143. Merge r1585639 from trunk.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1585641 13f79535-47bb-0310-9956-ffa450edef68
Haohui Mai 11 rokov pred
rodič
commit
02beaa7b18

+ 3 - 0
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

@@ -69,6 +69,9 @@ Release 2.5.0 - UNRELEASED
     HDFS-6180. dead node count / listing is very broken in JMX and old GUI.
     (wheat9)
 
+    HDFS-6143. WebHdfsFileSystem open should throw FileNotFoundException for
+    non-existing paths. (Gera Shegalov via wheat9)
+
 Release 2.4.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 2 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/ByteRangeInputStream.java

@@ -83,9 +83,10 @@ public abstract class ByteRangeInputStream extends FSInputStream {
    * @param o Original url
    * @param r Resolved url
    */
-  public ByteRangeInputStream(URLOpener o, URLOpener r) {
+  public ByteRangeInputStream(URLOpener o, URLOpener r) throws IOException {
     this.originalURL = o;
     this.resolvedURL = r;
+    getInputStream();
   }
 
   protected abstract URL getResolvedUrl(final HttpURLConnection connection

+ 4 - 2
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/HftpFileSystem.java

@@ -377,11 +377,13 @@ public class HftpFileSystem extends FileSystem
   }
 
   static class RangeHeaderInputStream extends ByteRangeInputStream {
-    RangeHeaderInputStream(RangeHeaderUrlOpener o, RangeHeaderUrlOpener r) {
+    RangeHeaderInputStream(RangeHeaderUrlOpener o, RangeHeaderUrlOpener r)
+    throws IOException {
       super(o, r);
     }
 
-    RangeHeaderInputStream(URLConnectionFactory connFactory, final URL url) {
+    RangeHeaderInputStream(URLConnectionFactory connFactory, final URL url)
+    throws IOException {
       this(new RangeHeaderUrlOpener(connFactory, url),
           new RangeHeaderUrlOpener(connFactory, null));
     }

+ 2 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java

@@ -962,7 +962,8 @@ public class WebHdfsFileSystem extends FileSystem
   }
 
   static class OffsetUrlInputStream extends ByteRangeInputStream {
-    OffsetUrlInputStream(OffsetUrlOpener o, OffsetUrlOpener r) {
+    OffsetUrlInputStream(OffsetUrlOpener o, OffsetUrlOpener r)
+        throws IOException {
       super(o, r);
     }
 

+ 2 - 3
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestWebHdfsFileSystemContract.java

@@ -182,9 +182,8 @@ public class TestWebHdfsFileSystemContract extends FileSystemContractBaseTest {
     final Path p = new Path("/test/testOpenNonExistFile");
     //open it as a file, should get FileNotFoundException 
     try {
-      final FSDataInputStream in = fs.open(p);
-      in.read();
-      fail();
+      fs.open(p);
+      fail("Expected FileNotFoundException was not thrown");
     } catch(FileNotFoundException fnfe) {
       WebHdfsFileSystem.LOG.info("This is expected.", fnfe);
     }