Repository: spark
Updated Branches:
  refs/heads/branch-2.1 56f997f13 -> af960e86b


[SPARK-19970][SQL][BRANCH-2.1] Table owner should be USER instead of PRINCIPAL 
in kerberized clusters

## What changes were proposed in this pull request?

In the kerberized hadoop cluster, when Spark creates tables, the owner of 
tables are filled with PRINCIPAL strings instead of USER names. This is 
inconsistent with Hive and causes problems when using 
[ROLE](https://cwiki.apache.org/confluence/display/Hive/SQL+Standard+Based+Hive+Authorization)
 in Hive. We had better to fix this.

**BEFORE**
```scala
scala> sql("create table t(a int)").show
scala> sql("desc formatted t").show(false)
...
|Owner:                      |sparkEXAMPLE.COM                                  
       |       |
```

**AFTER**
```scala
scala> sql("create table t(a int)").show
scala> sql("desc formatted t").show(false)
...
|Owner:                      |spark                                         |   
    |
```

## How was this patch tested?

Manually do `create table` and `desc formatted` because this happens in 
Kerberized clusters.

Author: Dongjoon Hyun <dongj...@apache.org>

Closes #17363 from dongjoon-hyun/SPARK-19970-2.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/af960e86
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/af960e86
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/af960e86

Branch: refs/heads/branch-2.1
Commit: af960e86ba0198847c123bd601eb98ed985b15fb
Parents: 56f997f
Author: Dongjoon Hyun <dongj...@apache.org>
Authored: Thu Mar 23 14:55:31 2017 -0700
Committer: Marcelo Vanzin <van...@cloudera.com>
Committed: Thu Mar 23 14:55:31 2017 -0700

----------------------------------------------------------------------
 .../scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/af960e86/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala
----------------------------------------------------------------------
diff --git 
a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala 
b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala
index faf8a2b..205b7ff 100644
--- 
a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala
+++ 
b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala
@@ -828,7 +828,7 @@ private[hive] class HiveClientImpl(
       hiveTable.setFields(schema.asJava)
     }
     hiveTable.setPartCols(partCols.asJava)
-    hiveTable.setOwner(conf.getUser)
+    hiveTable.setOwner(state.getAuthenticator().getUserName())
     hiveTable.setCreateTime((table.createTime / 1000).toInt)
     hiveTable.setLastAccessTime((table.lastAccessTime / 1000).toInt)
     table.storage.locationUri.foreach { loc => shim.setDataLocation(hiveTable, 
loc) }


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

Reply via email to