From d08fc9aca807af5a240f5e1904d9c0ba027196b8 Mon Sep 17 00:00:00 2001 From: Haohui Mai Date: Tue, 9 Dec 2014 10:57:32 -0800 Subject: [PATCH] HADOOP-11273. TestMiniKdc failure: login options not compatible with IBM JDK. Contributed by Gao Zhong Liang. --- .../hadoop-common/CHANGES.txt | 3 +++ .../apache/hadoop/minikdc/TestMiniKdc.java | 22 ++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 4b23471bceb..b030bf7d5fe 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -545,6 +545,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);