[ https://issues.apache.org/jira/browse/HADOOP-2634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560094#action_12560094 ]
Konstantin Shvachko commented on HADOOP-2634: --------------------------------------------- - Right now getFileInfo() - an *HDFS* variant of getFileStatus() - throws {code} IOException("File does not exist: " + srcs); {code} - *LocalFileSystem* does not throw anything but actually returns a valid FileStatus with some default values. - *S3FileSystem* throws {code} IOException(f.toString() + ": No such file or directory."); {code} - And *kfs* does not seem to be throwing anything just like LocalFileSystem, please correct me if I'm wrong. So this is all really inconsistent. And to make it consistent I would vote for throwing rather than returning null, but throwing FileNotFoundException instead of the base IOException. Then it would make implementation of exists() rather simple. > Deprecate exists() and isDir() to simplify ClientProtocol. > ---------------------------------------------------------- > > Key: HADOOP-2634 > URL: https://issues.apache.org/jira/browse/HADOOP-2634 > Project: Hadoop > Issue Type: Improvement > Components: dfs > Affects Versions: 0.15.0 > Reporter: Konstantin Shvachko > > ClientProtocol can be simplified by removing two methods > {code} > public boolean exists(String src) throws IOException; > public boolean isDir(String src) throws IOException; > {code} > This is a redundant api, which can be implemented in DFSClient as convenience > methods using > {code} > public DFSFileInfo getFileInfo(String src) throws IOException; > {code} > Note that we already deprecated several Filesystem method and advised to use > getFileStatus() instead. > Should we deprecate them in 0.16? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.