[ https://issues.apache.org/jira/browse/HIVE-7295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14044354#comment-14044354 ]
Chris Nauroth commented on HIVE-7295: ------------------------------------- Hi, [~xiaobingo]. Yes, this is something particular to Windows. If you're logged in as a user in the administrators group, then files you create on the local file system will be owned by the administrators group, not your individual user. Here is an example running winutils ls on a file I created while logged in as a member of the administrators group: {code} C:\test>C:\hdc\hadoop-common-project\hadoop-common\target\bin\winutils.exe ls C:\test\hello -rwx------ 1 BUILTIN\Administrators CNAUROTH-VM-1\None 8 Jan 14 2014 C:\test\hello {code} Here is the same thing run on a different VM, where my user is not a member of the administrators group: {code} C:\test>C:\hdc\hadoop-common-project\hadoop-common\target\bin\winutils.exe ls C:\test\hello -rwx------ 1 WIN-NCDLEQLC13J\cnauroth WIN-NCDLEQLC13J\None 8 Jun 26 2014 C:\test\hello {code} There isn't really any way to change code to work around this. The only workaround is to run unit tests as a user who is not a member of the administrators group. Note that when you set up a non-admin user for yourself, you'll need to make sure that user has Create Symbolic Links permission. The code in Hadoop core relies on creating symlinks for a couple of important things, notably {{MiniYARNCluster}}. Admins get this permission automatically, but regular users don't. This page describes how to grant the permission to a regular user: http://superuser.com/questions/104845/permission-to-make-symbolic-links-in-windows-7 Hope this helps. > 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)