[jira] [Created] (HIVE-14909) Preserve the "parent location" of the table when an "alter table rename to " is submitted (the case when the db location is not specified and the Hive defult db is outside the same encrypted zone).

Fri, 07 Oct 2016 01:08:16 -0700

Adriano created HIVE-14909:
------------------------------

             Summary: Preserve the "parent location" of the table when an 
"alter table <table> rename to <newname>" is submitted (the case when the db 
location is not specified and the Hive defult db is outside the same encrypted 
zone).
                 Key: HIVE-14909
                 URL: https://issues.apache.org/jira/browse/HIVE-14909
             Project: Hive
          Issue Type: Improvement
          Components: Hive
    Affects Versions: 1.1.0
            Reporter: Adriano



Alter Table operation for db_enc.rename_test failed to move data due to: 
'/hdfs/encrypted_path/db_enc/rename_test can't be moved from an encryption 
zone.'

When Hive renames a managed table, it always creates the new renamed table 
directory under its database directory in order to keep a db/table hierarchy. 
In this case, the renamed table directory is created under "default db" 
directory "hive/warehouse/". When Hive renames a managed table, it always 
creates the new renamed table directory under its database directory in order 
to keep a db/table hierarchy. In this case, the renamed table directory is 
created under "default' db directory typically set as /hive/warehouse/ . 

This error doesn't appear if first create a database which points to a 
directory outside /hive/warehouse/, say '/hdfs/encrypted_path', you won't have 
this problem. For example, 

create database db_enc location '/hdfs/encrypted_path/db_enc; 
use db_enc; 
create table rename_test (...) location 
'/hdfs/encrypted_path/db_enc/rename_test'; 
alter table rename_test rename to test_rename; 

The renamed test_rename directory is created under /hdfs/encrypted_path/db_enc. 

Considering that the encryption of a filesystem is part of the evolution 
hardening of a system (where the system and the data contained can already 
exists) and a db can be already created without location set (because it is not 
strictly required)and the default db is outside the same encryption zone (or in 
a no-encryption zone) the alter table rename operation will fail.

Improvement:
Preserve the "parent location" of the table when an "alter table <table> rename 
to <newname>" is submitted (the case when the db location is not specified and 
the Hive defult db is outside the same encrypted zone).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to