You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by aw...@apache.org on 2016/06/28 14:23:18 UTC
hadoop git commit: HADOOP-9888. KerberosName static initialization
gets default realm,
which is unneeded in non-secure deployment. (Dmytro Kabakchei via aw)
Repository: hadoop
Updated Branches:
refs/heads/trunk 422c73a86 -> be38e530b
HADOOP-9888. KerberosName static initialization gets default realm, which is unneeded in non-secure deployment. (Dmytro Kabakchei via aw)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/be38e530
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/be38e530
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/be38e530
Branch: refs/heads/trunk
Commit: be38e530bb23b134758e29c9101f98cf4e1d2c38
Parents: 422c73a
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue Jun 28 07:22:51 2016 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Tue Jun 28 07:22:51 2016 -0700
----------------------------------------------------------------------
.../authentication/util/KerberosName.java | 24 ++++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/be38e530/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/util/KerberosName.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/util/KerberosName.java b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/util/KerberosName.java
index 645fbc6..0b668f1 100644
--- a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/util/KerberosName.java
+++ b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/util/KerberosName.java
@@ -80,16 +80,7 @@ public class KerberosName {
*/
private static List<Rule> rules;
- private static String defaultRealm;
-
- static {
- try {
- defaultRealm = KerberosUtil.getDefaultRealm();
- } catch (Exception ke) {
- LOG.debug("Kerberos krb5 configuration not found, setting default realm to empty");
- defaultRealm="";
- }
- }
+ private static String defaultRealm = null;
@VisibleForTesting
public static void resetDefaultRealm() {
@@ -124,9 +115,18 @@ public class KerberosName {
/**
* Get the configured default realm.
+ * Used syncronized method here, because double-check locking is overhead.
* @return the default realm from the krb5.conf
*/
- public String getDefaultRealm() {
+ public static synchronized String getDefaultRealm() {
+ if (defaultRealm == null) {
+ try {
+ defaultRealm = KerberosUtil.getDefaultRealm();
+ } catch (Exception ke) {
+ LOG.debug("Kerberos krb5 configuration not found, setting default realm to empty");
+ defaultRealm = "";
+ }
+ }
return defaultRealm;
}
@@ -309,7 +309,7 @@ public class KerberosName {
String apply(String[] params) throws IOException {
String result = null;
if (isDefault) {
- if (defaultRealm.equals(params[0])) {
+ if (getDefaultRealm().equals(params[0])) {
result = params[1];
}
} else if (params.length - 1 == numOfComponents) {
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org