hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Mitic (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-9413) Introduce common utils for File#setReadable/Writable/Executable and File#canRead/Write/Execute that work cross-platform
Date Sat, 20 Apr 2013 17:21:15 GMT

     [ 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.2.patch

Attaching the updated patch. I went in the direction of exposing a native access check API
as Chris’ suggested above. The problem with the previous patch that bothered me was that
it used the owner information to do the access check, what is not accurate in all cases on
Windows (a user can still read/write/exec files/folders even if he is not a user/group owner).
The new access check API checks if a user has the appropriate read/write/execute permission
by checking the file ACLs. Another good side is that API could be substituted with JDK7 Files#isReadable/isWritable/isExecutable
once Hadoop moves to Java 7.

libwinutils.c: I noticed that GetEffectiveRightsForSid() does not do proper cleanup so I fixed
that with my patch as well.

[~cnauroth][~bikassaha] let me know how this looks.

I'll prepare the branch-1-win patch once the trunk patch is ready for commit.
                
> 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.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

Mime
View raw message