[
https://issues.apache.org/jira/browse/HDFS-14471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ayush Saxena resolved HDFS-14471.
---------------------------------
Resolution: Not A Problem
> FSDirectory.resolveDotInodesPath() throws FileNotFoundException when the path
> is malformed
> ------------------------------------------------------------------------------------------
>
> Key: HDFS-14471
> URL: https://issues.apache.org/jira/browse/HDFS-14471
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Reporter: eBugs
> Priority: Minor
>
> Dear HDFS developers, we are developing a tool to detect exception-related
> bugs in Java. Our prototype has spotted the following {{throw}} statement
> whose exception class and error message indicate different error conditions.
>
> Version: Hadoop-3.1.2
> File:
> HADOOP-ROOT/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
> Line: 1646-1651
> {code:java}
> try {
> id = Long.parseLong(inodeId);
> } catch (NumberFormatException e) {
> throw new FileNotFoundException("Invalid inode path: " +
> DFSUtil.byteArray2PathString(pathComponents));
> }{code}
>
> A {{FileNotFoundException}} means that a target file cannot be found.
> However, the error message indicates that the path is malformed (instead of
> well-formed but pointing to no file). This mismatch could be a problem. For
> example, the callers trying to handle other {{FileNotFoundException}} may
> accidentally (and incorrectly) handle the malformed path. Or, users/admins
> may be misled by the exception class name and wonder why the file is missing.
>
> Maybe the {{FileNotFoundException}} can wrap the {{NumberFormatException}},
> so that the callers and users will have more idea of why the inode path is
> invalid.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]