> On May 29, 2014, 8:28 p.m., Ashish Singh wrote: > > shims/0.20/src/main/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java, > > line 666 > > <https://reviews.apache.org/r/22016/diff/1/?file=598635#file598635line666> > > > > Shouldn't we be trying to change permission even if we fail to set > > group? Also, if I remember correctly, trying to set group was leading to > > exceptions. > >
FsShell serves that purpose. If error it will just return -1 as exitCode, which I log in the helper method. > On May 29, 2014, 8:28 p.m., Ashish Singh wrote: > > shims/0.20S/src/main/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java, > > line 416 > > <https://reviews.apache.org/r/22016/diff/1/?file=598636#file598636line416> > > > > Same as previous comment regarding settign group. Same > On May 29, 2014, 8:28 p.m., Ashish Singh wrote: > > shims/0.20S/src/main/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java, > > line 430 > > <https://reviews.apache.org/r/22016/diff/1/?file=598636#file598636line430> > > > > This is similar to Hadoop20FileStatus. Could we push them together into > > a base class? I was heavily-considering, but unfortunately the tree is: Hadoop20Shims (isolated subclass), HadoopShimSecure -> Hadoop20Shims+Hadoop20Shim. So unfortunately the ones that are common in this case (Hadoop20+Hadoop20S) dont form a common tree, so hard to inherit unless I create a proper non-inner class. That's definitely an option if necessary, but I didnt want to invest in it, as Hadoop20Shims should be retired soon. > On May 29, 2014, 8:28 p.m., Ashish Singh wrote: > > shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java, > > line 538 > > <https://reviews.apache.org/r/22016/diff/1/?file=598637#file598637line538> > > > > Same as previous comment on setting group. Same response. > On May 29, 2014, 8:28 p.m., Ashish Singh wrote: > > ql/src/java/org/apache/hadoop/hive/ql/processors/DeleteResourceProcessor.java, > > line 21 > > <https://reviews.apache.org/r/22016/diff/1/?file=598634#file598634line21> > > > > Is this here by mistake? Somehow it came , as I didnt rebase the patch with latest trunk. > On May 29, 2014, 8:28 p.m., Ashish Singh wrote: > > shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java, > > line 524 > > <https://reviews.apache.org/r/22016/diff/1/?file=598637#file598637line524> > > > > Objects.equal(conf.get("dfs.namenode.acls.enabled"), "true") is used at > > more than one place. Should we extract it out to a static method? Done - Szehon ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/22016/#review44272 ----------------------------------------------------------- On May 29, 2014, 10:49 p.m., Szehon Ho wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/22016/ > ----------------------------------------------------------- > > (Updated May 29, 2014, 10:49 p.m.) > > > Review request for hive. > > > Bugs: HIVE-7119 > https://issues.apache.org/jira/browse/HIVE-7119 > > > Repository: hive-git > > > Description > ------- > > This completes the permission inheritance story, by also inheriting the new > concept of extended ACL's in HDFS from parent. > > This is a bit tricky because only Hadoop 2.4 has extended ACL's. My strategy > is to use the HadoopShims, and only in Hadoop23Shims to have code dealing > with extended ACL's, and then only if the flag "dfs.namenode.acls.enabled" is > true. > > It was also tricky as the main Hive code cannot refer to the HDFS ACL classes > (aclStatus and aclEntry). So made some wrapper API in the shims called > 'hdfsFileStatus' that encompasses both normal file status , and Aclstatus if > acl's are enabled. > > > Diffs > ----- > > common/src/java/org/apache/hadoop/hive/common/FileUtils.java ee61350 > > itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/FolderPermissionBase.java > PRE-CREATION > > itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/TestExtendedAcls.java > PRE-CREATION > > itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/TestFolderPermissions.java > 4f566d2 > ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java 3417474 > shims/0.20/src/main/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java > 7aae689 > shims/0.20S/src/main/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java > bcb2660 > shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java > 176f9ae > > shims/common-secure/src/main/java/org/apache/hadoop/hive/shims/HadoopShimsSecure.java > c27df64 > shims/common/src/main/java/org/apache/hadoop/hive/shims/HadoopShims.java > 02260ce > > Diff: https://reviews.apache.org/r/22016/diff/ > > > Testing > ------- > > For testing, refactored TestFolderPermission into a base + two tests > (TestFolderPermission to test traditional permission without acl's, and > TestExtendedAcl's to test acls). > > > Thanks, > > Szehon Ho > >