hong dongdong created SPARK-26929:
-------------------------------------

             Summary: table owner should use user instead of principal when use 
kerberos
                 Key: SPARK-26929
                 URL: https://issues.apache.org/jira/browse/SPARK-26929
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 2.4.0, 2.3.3, 2.3.2, 2.3.1, 2.3.0
            Reporter: hong dongdong


In kerberos cluster, when use spark-sql or beeline to create table,  the owner 
will be whole info of principal. the _issue_  has occur in SPARK-19970 and 
modify by SPARK-22846, so it occur again. It will causes some problems when 
using role., and this time should resolved two issues together.

Use  org.apache.hadoop.hive.shims.Utils.getUGI  directly to get 
ugi.getShortUserName

instead of use  conf.getUser which return principal info.

Code change
private val userName: String = try \{
  val ugi = HiveUtils.getUGI
  ugi.getShortUserName
} catch \{
  case e: LoginException => throw new IOException(e)
}
Berfore
scala> sql("create table t(a int)").show
scala> sql("desc formatted t").show(false)
...
|Owner:                      |sp...@example.com                                 
        |       |
After:
scala> sql("create table t(a int)").show
scala> sql("desc formatted t").show(false)
...
|Owner:                      |spark                                         |   
    |



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to