HADOOP-7902. skipping name rules setting (if already set) should be done on UGI initialization only. (tucu)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1212591 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9b1f47226b
commit
66fce20802
|
@ -132,6 +132,9 @@ Trunk (unreleased changes)
|
||||||
HADOOP-7898. Fix javadoc warnings in AuthenticationToken.java.
|
HADOOP-7898. Fix javadoc warnings in AuthenticationToken.java.
|
||||||
(suresh)
|
(suresh)
|
||||||
|
|
||||||
|
HADOOP-7902. skipping name rules setting (if already set) should be done
|
||||||
|
on UGI initialization only. (tucu)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
HADOOP-7761. Improve the performance of raw comparisons. (todd)
|
HADOOP-7761. Improve the performance of raw comparisons. (todd)
|
||||||
|
|
|
@ -65,11 +65,9 @@ public class HadoopKerberosName extends KerberosName {
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public static void setConfiguration(Configuration conf) throws IOException {
|
public static void setConfiguration(Configuration conf) throws IOException {
|
||||||
if (!hasRulesBeenSet()) {
|
|
||||||
String ruleString = conf.get("hadoop.security.auth_to_local", "DEFAULT");
|
String ruleString = conf.get("hadoop.security.auth_to_local", "DEFAULT");
|
||||||
setRules(ruleString);
|
setRules(ruleString);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
setConfiguration(new Configuration());
|
setConfiguration(new Configuration());
|
||||||
|
|
|
@ -57,6 +57,7 @@ import org.apache.hadoop.metrics2.annotation.Metric;
|
||||||
import org.apache.hadoop.metrics2.annotation.Metrics;
|
import org.apache.hadoop.metrics2.annotation.Metrics;
|
||||||
import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem;
|
import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem;
|
||||||
import org.apache.hadoop.metrics2.lib.MutableRate;
|
import org.apache.hadoop.metrics2.lib.MutableRate;
|
||||||
|
import org.apache.hadoop.security.authentication.util.KerberosName;
|
||||||
import org.apache.hadoop.security.token.Token;
|
import org.apache.hadoop.security.token.Token;
|
||||||
import org.apache.hadoop.security.token.TokenIdentifier;
|
import org.apache.hadoop.security.token.TokenIdentifier;
|
||||||
import org.apache.hadoop.util.Shell;
|
import org.apache.hadoop.util.Shell;
|
||||||
|
@ -200,7 +201,7 @@ public class UserGroupInformation {
|
||||||
*/
|
*/
|
||||||
private static synchronized void ensureInitialized() {
|
private static synchronized void ensureInitialized() {
|
||||||
if (!isInitialized) {
|
if (!isInitialized) {
|
||||||
initialize(new Configuration());
|
initialize(new Configuration(), KerberosName.hasRulesBeenSet());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -208,11 +209,13 @@ public class UserGroupInformation {
|
||||||
* Initialize UGI and related classes.
|
* Initialize UGI and related classes.
|
||||||
* @param conf the configuration to use
|
* @param conf the configuration to use
|
||||||
*/
|
*/
|
||||||
private static synchronized void initialize(Configuration conf) {
|
private static synchronized void initialize(Configuration conf, boolean skipRulesSetting) {
|
||||||
initUGI(conf);
|
initUGI(conf);
|
||||||
// give the configuration on how to translate Kerberos names
|
// give the configuration on how to translate Kerberos names
|
||||||
try {
|
try {
|
||||||
|
if (!skipRulesSetting) {
|
||||||
HadoopKerberosName.setConfiguration(conf);
|
HadoopKerberosName.setConfiguration(conf);
|
||||||
|
}
|
||||||
} catch (IOException ioe) {
|
} catch (IOException ioe) {
|
||||||
throw new RuntimeException("Problem with Kerberos auth_to_local name " +
|
throw new RuntimeException("Problem with Kerberos auth_to_local name " +
|
||||||
"configuration", ioe);
|
"configuration", ioe);
|
||||||
|
@ -249,7 +252,7 @@ public class UserGroupInformation {
|
||||||
* @param conf the configuration to use
|
* @param conf the configuration to use
|
||||||
*/
|
*/
|
||||||
public static void setConfiguration(Configuration conf) {
|
public static void setConfiguration(Configuration conf) {
|
||||||
initialize(conf);
|
initialize(conf, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue