[ https://issues.apache.org/jira/browse/HIVE-22919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17046129#comment-17046129 ]
Hive QA commented on HIVE-22919: -------------------------------- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 10m 38s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 0s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 43s{color} | {color:green} master passed {color} | | {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue} 3m 50s{color} | {color:blue} ql in master has 1530 extant Findbugs warnings. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 56s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 24s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 2s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 2s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 40s{color} | {color:green} ql: The patch generated 0 new + 5 unchanged - 1 fixed = 5 total (was 6) {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 11s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 55s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 16s{color} | {color:red} The patch generated 1 ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 26m 5s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Optional Tests | asflicense javac javadoc findbugs checkstyle compile | | uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux | | Build tool | maven | | Personality | /data/hiveptest/working/yetus_PreCommit-HIVE-Build-20846/dev-support/hive-personality.sh | | git revision | master / cfc12f0 | | Default Java | 1.8.0_111 | | findbugs | v3.0.1 | | asflicense | http://104.198.109.242/logs//PreCommit-HIVE-Build-20846/yetus/patch-asflicense-problems.txt | | modules | C: ql U: ql | | Console output | http://104.198.109.242/logs//PreCommit-HIVE-Build-20846/yetus.txt | | Powered by | Apache Yetus http://yetus.apache.org | This message was automatically generated. > StorageBasedAuthorizationProvider does not allow create databases after > changing hive.metastore.warehouse.dir > ------------------------------------------------------------------------------------------------------------- > > Key: HIVE-22919 > URL: https://issues.apache.org/jira/browse/HIVE-22919 > Project: Hive > Issue Type: Bug > Reporter: Oleksiy Sayankin > Assignee: Oleksiy Sayankin > Priority: Major > Attachments: HIVE-22919.1.patch, HIVE-22919.2.patch, > HIVE-22919.3.patch, HIVE-22919.4.patch > > > *ENVIRONMENT:* > Hive-2.3 > *STEPS TO REPRODUCE:* > 1. Configure Storage Based Authorization: > {code:xml}<property> > <name>hive.security.authorization.enabled</name> > <value>true</value> > </property> > <property> > <name>hive.security.metastore.authorization.manager</name> > > <value>org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider</value> > </property> > <property> > <name>hive.security.authorization.manager</name> > > <value>org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider</value> > </property> > <property> > <name>hive.security.metastore.authenticator.manager</name> > > <value>org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator</value> > </property> > <property> > <name>hive.metastore.pre.event.listeners</name> > > <value>org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener</value> > </property>{code} > 2. Create a few directories, change owners and permissions to it: > {code:java}hadoop fs -mkdir /tmp/m1 > hadoop fs -mkdir /tmp/m2 > hadoop fs -mkdir /tmp/m3 > hadoop fs -chown testuser1:testuser1 /tmp/m[1,3] > hadoop fs -chmod 700 /tmp/m[1-3]{code} > 3. Check permissions: > {code:java}[test@node2 ~]$ hadoop fs -ls /tmp|grep m[1-3] > drwx------ - testuser1 testuser1 0 2020-02-11 10:25 /tmp/m1 > drwx------ - test test 0 2020-02-11 10:25 /tmp/m2 > drwx------ - testuser1 testuser1 1 2020-02-11 10:36 /tmp/m3 > [test@node2 ~]$ > {code} > 4. Loggin into Hive CLI using embedded Hive Metastore as *"testuser1"* user, > with *"hive.metastore.warehouse.dir"* set to *"/tmp/m1"*: > {code:java} > sudo -u testuser1 hive --hiveconf hive.metastore.uris= --hiveconf > hive.metastore.warehouse.dir=/tmp/m1 > {code} > 5. Perform the next steps: > {code:sql}-- 1. Check "hive.metastore.warehouse.dir" value: > SET hive.metastore.warehouse.dir; > -- 2. Set "hive.metastore.warehouse.dir" to the path, to which "testuser1" > user does not have an access: > SET hive.metastore.warehouse.dir=/tmp/m2; > -- 3. Try to create a database: > CREATE DATABASE m2; > -- 4. Set "hive.metastore.warehouse.dir" to the path, to which "testuser1" > user has an access: > SET hive.metastore.warehouse.dir=/tmp/m3; > -- 5. Try to create a database: > CREATE DATABASE m3; > {code} > *ACTUAL RESULT:* > Query 5 fails with an exception below. It does not handle > "hive.metastore.warehouse.dir" proprty: > {code:java} > hive> -- 5. Try to create a database: > hive> CREATE DATABASE m3; > FAILED: HiveException org.apache.hadoop.security.AccessControlException: User > testuser1(user id 5001) does not have access to hdfs:/tmp/m2/m3.db > hive> > {code} > *EXPECTED RESULT:* > Query 5 creates a database; -- This message was sent by Atlassian Jira (v8.3.4#803005)