Ted Yu created HDFS-13511: ----------------------------- Summary: Provide specialized exception when block length cannot be obtained Key: HDFS-13511 URL: https://issues.apache.org/jira/browse/HDFS-13511 Project: Hadoop HDFS Issue Type: Improvement Reporter: Ted Yu
In downstream project, I saw the following code: {code} FSDataInputStream inputStream = hdfs.open(new Path(path)); ... if (options.getRecoverFailedOpen() && dfs != null && e.getMessage().toLowerCase() .startsWith("cannot obtain block length for")) { {code} The above tightly depends on the following in DFSInputStream#readBlockLength {code} throw new IOException("Cannot obtain block length for " + locatedblock); {code} The check based on string matching is brittle in production deployment. After discussing with [~ste...@apache.org], better approach is to introduce specialized IOException, e.g. CannotObtainBlockLengthException so that downstream project doesn't have to rely on string matching. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org