diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 48a7fb8ee97..35b280710f7 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -179,6 +179,9 @@ Release 2.7.0 - UNRELEASED HADOOP-11372. Fix new findbugs warnings in mapreduce-examples. (Li Lu via wheat9) + HADOOP-11273. TestMiniKdc failure: login options not compatible with IBM + JDK. (Gao Zhong Liang via wheat9) + Release 2.6.0 - 2014-11-18 INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-minikdc/src/test/java/org/apache/hadoop/minikdc/TestMiniKdc.java b/hadoop-common-project/hadoop-minikdc/src/test/java/org/apache/hadoop/minikdc/TestMiniKdc.java index c052bb1425a..fac7f0fbd0d 100644 --- a/hadoop-common-project/hadoop-minikdc/src/test/java/org/apache/hadoop/minikdc/TestMiniKdc.java +++ b/hadoop-common-project/hadoop-minikdc/src/test/java/org/apache/hadoop/minikdc/TestMiniKdc.java @@ -37,7 +37,8 @@ import java.util.HashMap; import java.util.Arrays; public class TestMiniKdc extends KerberosSecurityTestcase { - + private static final boolean IBM_JAVA = System.getProperty("java.vendor") + .contains("IBM"); @Test public void testMiniKdcStart() { MiniKdc kdc = getKdc(); @@ -94,15 +95,20 @@ public class TestMiniKdc extends KerberosSecurityTestcase { @Override public AppConfigurationEntry[] getAppConfigurationEntry(String name) { Map options = new HashMap(); - options.put("keyTab", keytab); options.put("principal", principal); - options.put("useKeyTab", "true"); - options.put("storeKey", "true"); - options.put("doNotPrompt", "true"); - options.put("useTicketCache", "true"); - options.put("renewTGT", "true"); options.put("refreshKrb5Config", "true"); - options.put("isInitiator", Boolean.toString(isInitiator)); + if (IBM_JAVA) { + options.put("useKeytab", keytab); + options.put("credsType", "both"); + } else { + options.put("keyTab", keytab); + options.put("useKeyTab", "true"); + options.put("storeKey", "true"); + options.put("doNotPrompt", "true"); + options.put("useTicketCache", "true"); + options.put("renewTGT", "true"); + options.put("isInitiator", Boolean.toString(isInitiator)); + } String ticketCache = System.getenv("KRB5CCNAME"); if (ticketCache != null) { options.put("ticketCache", ticketCache);