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)