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 we...@apache.org on 2019/12/12 11:24:54 UTC

[hadoop] 02/02: HDFS-15050. Optimize log information when DFSInputStream meet CannotObtainBlockLengthException. Contributed by Xiaoqiao He.

This is an automated email from the ASF dual-hosted git repository.

weichiu pushed a commit to branch branch-2.9
in repository https://gitbox.apache.org/repos/asf/hadoop.git

commit 3d6d78fc9163b47660be1e6e2f686b3e31fb47b4
Author: He Xiaoqiao <he...@apache.org>
AuthorDate: Wed Dec 11 16:33:26 2019 -0800

    HDFS-15050. Optimize log information when DFSInputStream meet CannotObtainBlockLengthException. Contributed by Xiaoqiao He.
    
    Signed-off-by: Wei-Chiu Chuang <we...@apache.org>
    (cherry picked from commit 99af49878cc47f5750b6c0edadc8a4c2fcd7a7c6)
    (cherry picked from commit 8ba4e13dcc4ad16e8483d33a31ed52e1b8d4e686)
    (cherry picked from commit 974706c5fdd7c875922b38a2efffb6b7bda8cdf5)
    (cherry picked from commit 3138b79e561bb5258db1f6a70b7e0ae768784eac)
---
 .../apache/hadoop/hdfs/CannotObtainBlockLengthException.java | 12 ++++++++++++
 .../src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/CannotObtainBlockLengthException.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/CannotObtainBlockLengthException.java
index 6da1d67..d6b2856 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/CannotObtainBlockLengthException.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/CannotObtainBlockLengthException.java
@@ -52,4 +52,16 @@ public class CannotObtainBlockLengthException extends IOException {
     super("Cannot obtain block length for " + locatedBlock);
   }
 
+  /**
+   * Constructs an {@code CannotObtainBlockLengthException} with the
+   * specified LocatedBlock and file that failed to obtain block length.
+   *
+   * @param locatedBlock
+   *        The LocatedBlock instance which block length can not be obtained
+   * @param src The file which include this block
+   */
+  public CannotObtainBlockLengthException(LocatedBlock locatedBlock,
+      String src) {
+    super("Cannot obtain block length for " + locatedBlock + " of " + src);
+  }
 }
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java
index 735d124..939c45c 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java
@@ -451,7 +451,7 @@ public class DFSInputStream extends FSInputStream
       return 0;
     }
 
-    throw new CannotObtainBlockLengthException(locatedblock);
+    throw new CannotObtainBlockLengthException(locatedblock, src);
   }
 
   public long getFileLength() {


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org