[ 
https://issues.apache.org/jira/browse/HADOOP-9413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Mitic updated HADOOP-9413:
-------------------------------

    Attachment: HADOOP-9413.commonfileutils.3.patch

Thanks Bikas for the review!

I attached the updated patch with your feedback addressed. Some comments below.

bq. Enums with defined value will make this unnecessary. Minor though but 
typesafe.
Makes sense, thanks, fixed in this iteration.

bq. The previous code was returning error when this failed. Not necessary 
anymore?
This was intentional. Resources allocated by a function should always be freed, 
whatever the function outcome is. LocalFree/CloseHandle and similar routines 
generally never fail except when the passed in parameters are invalid (what 
will not be the case here).

bq. How about changing these to setWritable()? Thus testing the other new 
methods too. + end to end symmetry check also achieved.
Agreed, since we already use FileUtil APIs, fixed in this iteration.
                
> Introduce common utils for File#setReadable/Writable/Executable and 
> File#canRead/Write/Execute that work cross-platform
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-9413
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9413
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Ivan Mitic
>            Assignee: Ivan Mitic
>             Fix For: 3.0.0
>
>         Attachments: HADOOP-9413.commonfileutils.2.patch, 
> HADOOP-9413.commonfileutils.3.patch, HADOOP-9413.commonfileutils.patch
>
>
> So far, we've seen many unittest and product bugs in Hadoop on Windows 
> because Java's APIs that manipulate with permissions do not work as expected. 
> We've addressed many of these problems on one-by-one basis (by either 
> changing code a bit or disabling the test). While debugging the remaining 
> unittest failures we continue to run into the same patterns of problems, and 
> instead of addressing them one-by-one, I propose that we expose a set of 
> equivalent wrapper APIs that will work well for all platforms.
> Scanning thru the codebase, this will actually be a simple change as there 
> are very few places that use File#setReadable/Writable/Executable and 
> File#canRead/Write/Execute (5 files in Common, 9 files in HDFS).
> HADOOP-8973 contains additional context on the problem.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to