[
https://issues.apache.org/jira/browse/HADOOP-7352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13043037#comment-13043037
]
Bharath Mundlapudi commented on HADOOP-7352:
--------------------------------------------
Throwing an IOException is reasonable when listStatus returns null. The reason
for this null case can be multiple things like file may not be present,
permission issue, disk is bad, OS decided to make file system readonly etc etc.
Since at FileSystem level we may not know all the causes for this so we should
throw an IOException. Do you agree?
> Contracts of LocalFileSystem and DistributedFileSystem should require
> FileSystem::listStatus throw IOException not return null upon access error
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-7352
> URL: https://issues.apache.org/jira/browse/HADOOP-7352
> Project: Hadoop Common
> Issue Type: Improvement
> Components: fs, fs/s3
> Reporter: Matt Foley
> Assignee: Matt Foley
>
> In HADOOP-6201 and HDFS-538 it was agreed that FileSystem::listStatus should
> throw FileNotFoundException instead of returning null, when the target
> directory did not exist.
> However, in LocalFileSystem implementation today, FileSystem::listStatus
> still may return null, when the target directory exists but does not grant
> read permission. This causes NPE in many callers, for all the reasons cited
> in HADOOP-6201 and HDFS-538. See HADOOP-7327 and its linked issues for
> examples.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira