You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "hong dongdong (JIRA)" <ji...@apache.org> on 2019/02/19 09:11:00 UTC

[jira] [Created] (SPARK-26929) table owner should use user instead of principal when use kerberos

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:                      |spark@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-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org