Robbie Zhang created HIVE-25331:
-----------------------------------

             Summary: Create database query doesn't create MANAGEDLOCATION 
directory
                 Key: HIVE-25331
                 URL: https://issues.apache.org/jira/browse/HIVE-25331
             Project: Hive
          Issue Type: Bug
            Reporter: Robbie Zhang


If we don't assign MANAGEDLOCATION in a "create database" query, the 
MANAGEDLOCATION will be NULL so HMS doesn't create the directory. In this case, 
a CTAS query immediately after the CREATE DATABASE query might fail in MOVE 
task due to "destination's parent does not exist". I can use the following 
script to reproduce this issue:
{code:java}
set hive.support.concurrency=true;
set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
create database testdb location '/tmp/testdb.db';
create table testdb.test as select 1;
{code}
If the staging directory is under the MANAGEDLOCATION directory, the CTAS query 
is fine as the MANAGEDLOCATION directory is created while creating the staging 
directory. Since we set LOCATION to a default directory when LOCATION is not 
assigned in the CREATE DATABASE query, I believe it's worth to set 
MANAGEDLOCATION to a default directory, too.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to