[
https://issues.apache.org/jira/browse/HIVE-7295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14044947#comment-14044947
]
Xiaobing Zhou commented on HIVE-7295:
-------------------------------------
Thanks [~cnauroth].
Since this is Windows specific, we can use this code snippet for work-around.
if (user.equals(stat.getOwner())) {
if (dirPerms.getUserAction().implies(action)) {
continue;
}
}
if (ArrayUtils.contains(groups, stat.getGroup())) {
if (dirPerms.getGroupAction().implies(action)) {
continue;
}
}
if (dirPerms.getOtherAction().implies(action)) {
continue;
}
//windows specific add-on
if (Shell.WINDOWS) {
if (ArrayUtils.contains(groups, stat.getOwner())) { //stat.getOwner
returns administrators
if (dirPerms.getUserAction().implies(action)) {
continue;
}
}
}
This passes all failed test cases affected, even if login user is a member of
admin group.
> FileStatus.getOwner on Windows returns name of group the user belongs to,
> instead of user name expected, fails many authorization related unit tests
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HIVE-7295
> URL: https://issues.apache.org/jira/browse/HIVE-7295
> Project: Hive
> Issue Type: Bug
> Components: Authorization, HCatalog, Security, Windows
> Affects Versions: 0.13.0
> Environment: Windows Server 2008 R2
> Reporter: Xiaobing Zhou
> Priority: Critical
>
> Unit test in TestHdfsAuthorizationProvider, e.g.
> org.apache.hcatalog.security.TestHdfsAuthorizationProvider.testTableOps.
> fails to run.
> Running org.apache.hcatalog.security.TestHdfsAuthorizationProvider
> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 15.799 sec
> <<< FAILURE! - in org.apache.hcatalog.security.TestHdfsAuthorizationProvider
> testTableOps(org.apache.hcatalog.security.TestHdfsAuthorizationProvider)
> Time elapsed: 15.546 sec <<< FAILURE!
> junit.framework.AssertionFailedError: FAILED: AuthorizationException
> org.apache.hadoop.security.AccessControlException: action WRITE not permitted
> on path pfile:/Users/xz
> hou/hworks/workspace/hwx-hive-ws/hive/hcatalog/core/target/warehouse for user
> xzhou expected:<0> but was:<40000>
> at junit.framework.Assert.fail(Assert.java:50)
> at junit.framework.Assert.failNotEquals(Assert.java:287)
> at junit.framework.Assert.assertEquals(Assert.java:67)
> at junit.framework.Assert.assertEquals(Assert.java:199)
> at
> org.apache.hcatalog.security.TestHdfsAuthorizationProvider.exec(TestHdfsAuthorizationProvider.java:172)
> at
> org.apache.hcatalog.security.TestHdfsAuthorizationProvider.testTableOps(TestHdfsAuthorizationProvider.java:307)
>
--
This message was sent by Atlassian JIRA
(v6.2#6252)