Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/18648#discussion_r131814291
  
    --- Diff: core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala ---
    @@ -581,17 +581,15 @@ object SparkSubmit extends CommandLineUtils {
         if (clusterManager == YARN || clusterManager == LOCAL) {
           if (args.principal != null) {
             require(args.keytab != null, "Keytab must be specified when 
principal is specified")
    -        if (!new File(args.keytab).exists()) {
    -          throw new SparkException(s"Keytab file: ${args.keytab} does not 
exist")
    -        } else {
    -          // Add keytab and principal configurations in sysProps to make 
them available
    -          // for later use; e.g. in spark sql, the isolated class loader 
used to talk
    -          // to HiveMetastore will use these settings. They will be set as 
Java system
    -          // properties and then loaded by SparkConf
    -          sysProps.put("spark.yarn.keytab", args.keytab)
    -          sysProps.put("spark.yarn.principal", args.principal)
    -
    -          UserGroupInformation.loginUserFromKeytab(args.principal, 
args.keytab)
    +        Try { SparkHadoopUtil.get.loginUserFromKeytab(args.principal, 
args.keytab)} match {
    +          case Success(_) =>
    +            // Add keytab and principal configurations in sysProps to make 
them available
    +            // for later use; e.g. in spark sql, the isolated class loader 
used to talk
    +            // to HiveMetastore will use these settings. They will be set 
as Java system
    +            // properties and then loaded by SparkConf
    +            sysProps.put("spark.yarn.keytab", args.keytab)
    +            sysProps.put("spark.yarn.principal", args.principal)
    +          case Failure(exception) => throw exception
    --- End diff --
    
    we can just write
    ```
    SparkHadoopUtil.get.loginUserFromKeytab(args.principal, args.keytab)
    // the comments ...
    sysProps.put("spark.yarn.keytab", args.keytab)
    sysProps.put("spark.yarn.principal", args.principal)
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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

Reply via email to