Repository: incubator-slider
Updated Branches:
  refs/heads/develop 4a7d563f8 -> bad538f2c


SLIDER-1035 improve default realm handling


Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/4441a492
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/4441a492
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/4441a492

Branch: refs/heads/develop
Commit: 4441a4921739adcd85b6b8e9710f1d0045196c8b
Parents: e1c802a
Author: Steve Loughran <ste...@apache.org>
Authored: Tue Jan 19 18:49:39 2016 -0800
Committer: Steve Loughran <ste...@apache.org>
Committed: Tue Jan 19 18:49:39 2016 -0800

----------------------------------------------------------------------
 .../apache/hadoop/security/KerberosDiags.java   | 22 ++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4441a492/slider-core/src/main/java/org/apache/hadoop/security/KerberosDiags.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/hadoop/security/KerberosDiags.java 
b/slider-core/src/main/java/org/apache/hadoop/security/KerberosDiags.java
index 6587550..1747a2b 100644
--- a/slider-core/src/main/java/org/apache/hadoop/security/KerberosDiags.java
+++ b/slider-core/src/main/java/org/apache/hadoop/security/KerberosDiags.java
@@ -140,7 +140,10 @@ public class KerberosDiags implements Closeable {
 
     // Fail fast on a JVM without JCE installed.
     validateKeyLength();
-    validateJVMBinding();
+
+    // look at realm
+    println("JVM Kerberos Login Module = %s", getKrb5LoginModuleName());
+    printDefaultRealm();
 
     title("System Properties");
     for (String prop : new String[]{
@@ -242,11 +245,16 @@ public class KerberosDiags implements Closeable {
   }
 
   /**
-   * Validate the binding between Hadoop and the JVM.
+   * Get the default realm.
+   * <p>
+   * Not having a default realm may be harmless, so is noted at info.
+   * All other invocation failures are downgraded to warn, as
+   * follow-on actions may still work.
+   * failure to invoke the method via introspection is rejected,
+   * as it's a sign of JVM compatibility issues that may have other
+   * consequences
    */
-  protected void validateJVMBinding() {
-    println("JVM Kerberos Login Module = %s",
-        getKrb5LoginModuleName());
+  protected void printDefaultRealm() {
     try {
       println("Default Realm = %s",
           getDefaultRealm());
@@ -264,7 +272,9 @@ public class KerberosDiags implements Closeable {
         println("Host has no default realm");
         LOG.debug(cause.toString(), cause);
       } else {
-        LOG.warn("Kerberos.getDefaultRealm() failed: {}", cause, cause);
+        println("Kerberos.getDefaultRealm() failed: %s\n%s",
+            cause,
+            org.apache.hadoop.util.StringUtils.stringifyException(cause));
       }
     }
   }

Reply via email to