[ 
https://issues.apache.org/jira/browse/SPARK-30261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

chenliang updated SPARK-30261:
------------------------------
    Description: 
For SparkSQL,When we do some alter operations on hive table, the owner of hive 
table would be changed to someone who invoked the operation, it's unresonable. 
And in fact, the owner should not changed for the real prodcution environment, 
otherwise the  authority check is out of order.

The problem can be reproduced as described in the below:

1.First I create a table with username='xie' and then \{{desc formatted table 
}},the owner is 'xiepengjie'
{code:java}
spark-sql> desc formatted bigdata_test.tt1; 
col_name data_type comment c int NULL 
# Detailed Table Information 
Database bigdata_test Table tt1 
Owner xie 
Created Time Wed Sep 11 11:30:49 CST 2019 
Last Access Thu Jan 01 08:00:00 CST 1970 
Created By Spark 2.2 or prior 
Type MANAGED 
Provider hive 
Table Properties [PART_LIMIT=10000, transient_lastDdlTime=1568172649, LEVEL=1, 
TTL=60] 
Location hdfs://NS1/user/hive_admin/warehouse/bigdata_test.db/tt1 
Serde Library org.apache.hadoop.hive.ql.io.orc.OrcSerde 
InputFormat org.apache.hadoop.hive.ql.io.orc.OrcInputFormat 
OutputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat 
Storage Properties [serialization.format=1] 
Partition Provider Catalog Time taken: 0.371 seconds, Fetched 18 row(s)

{code}
 2.Then I use another username='johnchen' and execute {{alter table 
bigdata_test.tt1 set location 
'hdfs://NS1/user/hive_admin/warehouse/bigdata_test.db/tt1'}}, check the owner 
of hive table is 'johnchen', it's unresonable
{code:java}
spark-sql> desc formatted bigdata_test.tt1; 
col_name data_type comment c int NULL 
# Detailed Table Information 
Database bigdata_test 
Table tt1 
Owner johnchen 
Created Time Wed Sep 11 11:30:49 CST 2019 
Last Access Thu Jan 01 08:00:00 CST 1970 
Created By Spark 2.2 or prior 
Type MANAGED 
Provider hive 
Table Properties [transient_lastDdlTime=1568871017, PART_LIMIT=10000, LEVEL=1, 
TTL=60] 
Location hdfs://NS1/user/hive_admin/warehouse/bigdata_test.db/tt1 
Serde Library org.apache.hadoop.hive.ql.io.orc.OrcSerde 
InputFormat org.apache.hadoop.hive.ql.io.orc.OrcInputFormat 
OutputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat 
Storage Properties [serialization.format=1] 
Partition Provider Catalog 
Time taken: 0.041 seconds, Fetched 18 row(s){code}
 

  was:
For SparkSQL,When we do some alter operations on hive table, the owner of hive 
table would be changed to someone who invoked the operation, it's unresonable. 
And in fact, the owner should not changed for the real prodcution environment, 
otherwise the  authority check is out of order.

The problem can be reproduced as described in the below:

1.First I create a table with username='xie' and then \{{desc formatted table 
}},the owner is 'xiepengjie'
{code:java}
spark-sql> desc formatted bigdata_test.tt1; 
col_name data_type comment c int NULL 
# Detailed Table Information 
Database bigdata_test Table tt1 
Owner xie 
Created Time Wed Sep 11 11:30:49 CST 2019 
Last Access Thu Jan 01 08:00:00 CST 1970 
Created By Spark 2.2 or prior 
Type MANAGED 
Provider hive 
Table Properties [PART_LIMIT=10000, transient_lastDdlTime=1568172649, LEVEL=1, 
TTL=60] 
Location hdfs://NS1/user/hive_admin/warehouse/bigdata_test.db/tt1 
Serde Library org.apache.hadoop.hive.ql.io.orc.OrcSerde 
InputFormat org.apache.hadoop.hive.ql.io.orc.OrcInputFormat 
OutputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat 
Storage Properties [serialization.format=1] 
Partition Provider Catalog Time taken: 0.371 seconds, Fetched 18 row(s)




{code}
 
{code:java}
spark-sql> desc formatted bigdata_test.tt1; 
col_name data_type comment c int NULL 
# Detailed Table Information 
Database bigdata_test 
Table tt1 
Owner johnchen 
Created Time Wed Sep 11 11:30:49 CST 2019 
Last Access Thu Jan 01 08:00:00 CST 1970 
Created By Spark 2.2 or prior 
Type MANAGED 
Provider hive 
Table Properties [transient_lastDdlTime=1568871017, PART_LIMIT=10000, LEVEL=1, 
TTL=60] 
Location hdfs://NS1/user/hive_admin/warehouse/bigdata_test.db/tt1 
Serde Library org.apache.hadoop.hive.ql.io.orc.OrcSerde 
InputFormat org.apache.hadoop.hive.ql.io.orc.OrcInputFormat 
OutputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat 
Storage Properties [serialization.format=1] 
Partition Provider Catalog 
Time taken: 0.041 seconds, Fetched 18 row(s){code}
{{}}


> Should not change owner of hive table  for  some commands like 'alter' 
> operation
> --------------------------------------------------------------------------------
>
>                 Key: SPARK-30261
>                 URL: https://issues.apache.org/jira/browse/SPARK-30261
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 2.2.0, 2.3.0, 2.4.3
>            Reporter: chenliang
>            Priority: Critical
>             Fix For: 2.2.0, 2.3.0, 2.4.3
>
>
> For SparkSQL,When we do some alter operations on hive table, the owner of 
> hive table would be changed to someone who invoked the operation, it's 
> unresonable. And in fact, the owner should not changed for the real 
> prodcution environment, otherwise the  authority check is out of order.
> The problem can be reproduced as described in the below:
> 1.First I create a table with username='xie' and then \{{desc formatted table 
> }},the owner is 'xiepengjie'
> {code:java}
> spark-sql> desc formatted bigdata_test.tt1; 
> col_name data_type comment c int NULL 
> # Detailed Table Information 
> Database bigdata_test Table tt1 
> Owner xie 
> Created Time Wed Sep 11 11:30:49 CST 2019 
> Last Access Thu Jan 01 08:00:00 CST 1970 
> Created By Spark 2.2 or prior 
> Type MANAGED 
> Provider hive 
> Table Properties [PART_LIMIT=10000, transient_lastDdlTime=1568172649, 
> LEVEL=1, TTL=60] 
> Location hdfs://NS1/user/hive_admin/warehouse/bigdata_test.db/tt1 
> Serde Library org.apache.hadoop.hive.ql.io.orc.OrcSerde 
> InputFormat org.apache.hadoop.hive.ql.io.orc.OrcInputFormat 
> OutputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat 
> Storage Properties [serialization.format=1] 
> Partition Provider Catalog Time taken: 0.371 seconds, Fetched 18 row(s)
> {code}
>  2.Then I use another username='johnchen' and execute {{alter table 
> bigdata_test.tt1 set location 
> 'hdfs://NS1/user/hive_admin/warehouse/bigdata_test.db/tt1'}}, check the owner 
> of hive table is 'johnchen', it's unresonable
> {code:java}
> spark-sql> desc formatted bigdata_test.tt1; 
> col_name data_type comment c int NULL 
> # Detailed Table Information 
> Database bigdata_test 
> Table tt1 
> Owner johnchen 
> Created Time Wed Sep 11 11:30:49 CST 2019 
> Last Access Thu Jan 01 08:00:00 CST 1970 
> Created By Spark 2.2 or prior 
> Type MANAGED 
> Provider hive 
> Table Properties [transient_lastDdlTime=1568871017, PART_LIMIT=10000, 
> LEVEL=1, TTL=60] 
> Location hdfs://NS1/user/hive_admin/warehouse/bigdata_test.db/tt1 
> Serde Library org.apache.hadoop.hive.ql.io.orc.OrcSerde 
> InputFormat org.apache.hadoop.hive.ql.io.orc.OrcInputFormat 
> OutputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat 
> Storage Properties [serialization.format=1] 
> Partition Provider Catalog 
> Time taken: 0.041 seconds, Fetched 18 row(s){code}
>  



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to