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

Yongzhi Chen commented on HIVE-11427:
-------------------------------------

TOK_TMP_FILE does not have a database before it, so Utilities.getDbTableName 
provide current working db as its db which is not right for CTAS.
Should use the database where the table to be created belongs to.
Attach patch for the fix.

> Location of temporary table for CREATE TABLE  SELECT broken by HIVE-7079
> ------------------------------------------------------------------------
>
>                 Key: HIVE-11427
>                 URL: https://issues.apache.org/jira/browse/HIVE-11427
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Grisha Trubetskoy
>            Assignee: Yongzhi Chen
>
> If a user _does not_ have HDFS write permissions to the _default_ database, 
> and attempts to create a table in a _private_ database to which the user 
> _does_ have permissions using CREATE TABLE AS SELECT from a table in the 
> default database, the following happens:
> {code}
> use default;
> create table grisha.blahblah as select * from some_table;
> FAILED: SemanticException 0:0 Error creating temporary folder on: 
> hdfs://nn.example.com/user/hive/warehouse. Error encountered near token 
> 'TOK_TMP_FILE’
> {code}
> I've edited this issue because my initial explanation was completely bogus. A 
> more likely explanation is in 
> https://github.com/apache/hive/commit/1614314ef7bd0c3b8527ee32a434ababf7711278
> {code}
>  -                fname = ctx.getExternalTmpPath(
>  +                fname = ctx.getExtTmpPathRelTo(  
>     // and then something incorrect happens in getExtTmpPathRelTo()
> {code}
> In any event - the bug is that the location chosen for the temporary storage 
> is not in the same place as the target table. It should be same as the target 
> table (/user/hive/warehouse/grisha.db in the above example) because this is 
> where presumably the user running the query would have write permissions to.



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

Reply via email to