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)); } } }