hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-1537) Allow users to specify LOCATION in CREATE DATABASE statement
Date Fri, 24 Jun 2011 16:21:49 GMT

    [ https://issues.apache.org/jira/browse/HIVE-1537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054523#comment-13054523
] 

jiraposter@reviews.apache.org commented on HIVE-1537:
-----------------------------------------------------



bq.  On 2011-06-23 16:49:59, Ashutosh Chauhan wrote:
bq.  > trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java, line
591
bq.  > <https://reviews.apache.org/r/949/diff/1/?file=21560#file21560line591>
bq.  >
bq.  >     This may not be always successful. You may fail to create dirs for number of
reasons. So, this needs to be handled gracefully. Transaction needs to rollback in such case
and create database ddl needs to fail. For more info, look the first comment of Devaraj and
also his attached partial patch.
bq.  
bq.  Thiruvel Thirumoolan wrote:
bq.      I requested Devaraj offline to handle it in a separate JIRA. I am not sure about
other methods having the same issue. That said, I introduced the same bug with alter_database.
Will fix it for create and alter databases.

Actually, problem exists in create Database even now without your patch. So, you are not making
it any worse. I am fine if you prefer to address it in a followup jira.  

About alter database, I am not sure if there is any real usecase for it. Having a database
spread across multiple locations is not a regular semantics. First concern is clean rollback
semantics. Another is what about drop database in such scenarios, which directories are deleted
when you drop a database, current one or all or one you specify in drop database ddl? You
potentially need to persist all the locations of database in objectstore for deletion or for
other purposes, which means a list of locationUri instead of a single string. Given all these,
you might want to defer alter database to a new jira. Apart from better understanding of the
usecases and semantics for alter database, doing it in two different jira will make this patch
smaller and thus easier to get committed. 


- Ashutosh


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/949/#review898
-----------------------------------------------------------


On 2011-06-23 09:55:50, Thiruvel Thirumoolan wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/949/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-06-23 09:55:50)
bq.  
bq.  
bq.  Review request for hive, Ning Zhang and Amareshwari Sriramadasu.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Usage:
bq.  
bq.  create database location 'path1';
bq.  alter database location 'path2';
bq.  
bq.  After 'alter', only newly created tables will be located under the new location. Tables
created before 'alter' will be under 'path1'.
bq.  
bq.  Notes:
bq.  ------
bq.  1. I have moved getDefaultDatabasePath() to HiveMetaStore and made it private. There
should only be one API to obtain the location of a database and it has to accept 'Database'
as an arg and hence the new method in Warehouse 'getDatabasePath()' and similarly 'getTablePath()'.
The usages of older API also has been changed. Hope that should be fine.
bq.  2. One could argue why have getDatabasePath() as location can be obtained by db.getLocationUri().
I wanted to retain this method to do any additional processing if necessary (getDns or whatever).
bq.  
bq.  
bq.  This addresses bug HIVE-1537.
bq.      https://issues.apache.org/jira/browse/HIVE-1537
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java 1138011

bq.    trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java 1138011

bq.    trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java 1138011

bq.    trunk/metastore/src/java/org/apache/hadoop/hive/metastore/Warehouse.java 1138011 
bq.    trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java 1138011

bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 1138011 
bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/StatsTask.java 1138011 
bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 1138011

bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/Hive.g 1138011 
bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java 1138011

bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 1138011 
bq.    trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzerFactory.java 1138011

bq.    trunk/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java 1138011 
bq.    trunk/ql/src/test/queries/clientpositive/database_location.q PRE-CREATION 
bq.    trunk/ql/src/test/results/clientpositive/database_location.q.out PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/949/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  1. Updated TestHiveMetaStore.java for testing the functionality - database creation,
alteration and table's locations as TestCliDriver outputs ignore locations.
bq.  2. Added database_location.q for testing the grammar primarily.
bq.  
bq.  Thanks,
bq.  Thiruvel
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Thiruvel
bq.  
bq.



> Allow users to specify LOCATION in CREATE DATABASE statement
> ------------------------------------------------------------
>
>                 Key: HIVE-1537
>                 URL: https://issues.apache.org/jira/browse/HIVE-1537
>             Project: Hive
>          Issue Type: New Feature
>          Components: Metastore
>            Reporter: Carl Steinbach
>            Assignee: Thiruvel Thirumoolan
>         Attachments: HIVE-1537.patch, hive-1537.metastore.part.patch
>
>


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message