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

Matt Foley commented on HADOOP-7322:
------------------------------------

Hi Bharath,
1. suggest javadoc comment for FileUtil.listFiles() to read:
+   * A wrapper for {@link File#listFiles()}. This java.io API returns null 
+   * when dir is not directory or for any I/O error. Instead of having to
+   * null check everywhere File#listFiles() is used, we will add this utility 
+   * api to get around this problem, for the majority of cases where we prefer
+   * an IOException to be thrown.

2. Not sure about the change to RunJar.main().  Isn't jar extraction usually 
pretty forgiving?  It is currently written to skip any directory it can't read. 
 Can you please give an argument for why that's wrong?

3. In the last line of testlistFiles(), to assure that the referenced directory 
can't possibly exist, why not use the same name as the directory you just 
deleted in the previous line?  Maybe after asserting:
Assert.assertTrue("Failed to delete test dir", !newDir.exists());

> Adding a util method in FileUtil for directory listing
> ------------------------------------------------------
>
>                 Key: HADOOP-7322
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7322
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Bharath Mundlapudi
>            Assignee: Bharath Mundlapudi
>            Priority: Minor
>             Fix For: 0.23.0
>
>         Attachments: HADOOP-7322-1.patch
>
>
> While testing Disk Fail Inplace, we encountered lots of NPE from 
> Dir.listFiles API. This API can return null when Dir is not directory or disk 
> is bad. I am proposing to have a File Util which can be used consistently 
> across to deal with disk issues. This util api will do the following:
> 1. When error happens it will throw IOException
> 2. Else it will return empty list or list of files.
> Signature:
> File[] FileUtil.listFiles(File dir) throws IOException {}
> This way we no need to write wrapper code every where. Also, API is 
> consistent with the signature.
>  

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to