[
https://issues.apache.org/jira/browse/HADOOP-9413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13637411#comment-13637411
]
Bikas Saha commented on HADOOP-9413:
------------------------------------
Thanks for doing this. Much better approach and functionally correct!
Enums with defined value will make this unnecessary. Minor though but typesafe.
{code}
+ if (desiredAccess != ACCESS_READ && desiredAccess != ACCESS_WRITE
+ && desiredAccess != ACCESS_EXECUTE) {
{code}
The previous code was returning error when this failed. Not necessary anymore?
{code}
- if (!AuthzFreeContext(hAuthzClientContext))
+
+GetEffectiveRightsForSidEnd:
+ if (hManager != NULL)
{
- ret = GetLastError();
- goto GetEffectiveRightsForSidEnd;
+ (void)AuthzFreeResourceManager(hManager);
+ }
+ if (hAuthzClientContext != NULL)
+ {
+ (void)AuthzFreeContext(hAuthzClientContext);
}
{code}
How about changing these to setWritable()? Thus testing the other new methods
too. + end to end symmetry check also achieved.
{code}
+ FileUtil.chmod(testFile.getAbsolutePath(), "u-r");
+ assertFalse(NativeIO.Windows.access(testFile.getAbsolutePath(),
+ NativeIO.Windows.ACCESS_READ));
{code}
> 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