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

Hu Liu, edited comment on SPARK-21918 at 9/6/17 10:03 AM:
----------------------------------------------------------

[~mgaido]
I just simply tested the command.
I connected to STS via beeline by using session user different from the user 
who started STS.After running the create table command, I check the owner of 
hdfs path which is the session user.
When I tried to drop table owned by  user who started STS and got permission 
denied exception.

For DML, their is opened issue: 
https://issues.apache.org/jira/browse/SPARK-5159.
I can fix those issue together if necessary


was (Author: huliu):
[~mgaido]
I just simply tested the command.
I connected to STS via beeline by using session user different from the user 
who started STS.After running the create table command, I check the owner of 
hdfs path which is the session user.
When I tried to drop table owned by  user who started STS and got permission 
denied exception.

For DML, their is opened issue: [link 
https://issues.apache.org/jira/browse/SPARK-5159].
I can fix those issue together if necessary

> HiveClient shouldn't share Hive object between different thread
> ---------------------------------------------------------------
>
>                 Key: SPARK-21918
>                 URL: https://issues.apache.org/jira/browse/SPARK-21918
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 2.2.0
>            Reporter: Hu Liu,
>
> I'm testing the spark thrift server and found that all the DDL statements are 
> run by user hive even if hive.server2.enable.doAs=true
> The root cause is that Hive object is shared between different thread in 
> HiveClientImpl
> {code:java}
>   private def client: Hive = {
>     if (clientLoader.cachedHive != null) {
>       clientLoader.cachedHive.asInstanceOf[Hive]
>     } else {
>       val c = Hive.get(conf)
>       clientLoader.cachedHive = c
>       c
>     }
>   }
> {code}
> But in impersonation mode, we should just share the Hive object inside the 
> thread so that the  metastore client in Hive could be associated with right 
> user.
> we can  pass the Hive object of parent thread to child thread when running 
> the sql to fix it
> I have already had a initial patch for review and I'm glad to work on it if 
> anyone could assign it to me.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to