[ 
https://issues.apache.org/jira/browse/HADOOP-2634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560052#action_12560052
 ] 

Doug Cutting commented on HADOOP-2634:
--------------------------------------

+1 for removing those protocol methods.

FileSystem#exists() should probably be made a concrete method in 
FileSystem.java, defined in terms of getFileStatus(), most existing 
implementations can probably be removed, and it could probably be deprecated.

BTW, what is getFileStatus() supposed to do when a file does not exist?  Throw 
an IOException or return null?  The former is generally preferable, but the 
latter makes implementing exists() easier, since we should not use exception 
handling for normal program flow.

I don't see a need to do this the day before 0.16 feature freeze, and it could 
be destabilizing.


> 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.

Reply via email to