YARN-4813. TestRMWebServicesDelegationTokenAuthentication.testDoAs fails intermittently (grepas via rkanter)

This commit is contained in:
Robert Kanter 2017-12-01 12:18:13 -08:00
parent 3b78607a02
commit c83fe44917
1 changed files with 14 additions and 1 deletions

View File

@ -76,6 +76,8 @@ public class TestRMWebServicesDelegationTokenAuthentication {
TestRMWebServicesDelegationTokenAuthentication.class.getName() + "-root");
private static File httpSpnegoKeytabFile = new File(
KerberosTestUtils.getKeytabFile());
private static final String SUN_SECURITY_KRB5_RCACHE_KEY =
"sun.security.krb5.rcache";
private static String httpSpnegoPrincipal = KerberosTestUtils
.getServerPrincipal();
@ -83,7 +85,7 @@ public class TestRMWebServicesDelegationTokenAuthentication {
private static boolean miniKDCStarted = false;
private static MiniKdc testMiniKDC;
private static MockRM rm;
private static String sunSecurityKrb5RcacheValue;
String delegationTokenHeader;
@ -98,6 +100,11 @@ public class TestRMWebServicesDelegationTokenAuthentication {
@BeforeClass
public static void setUp() {
try {
// Disabling kerberos replay cache to avoid "Request is a replay" errors
// caused by frequent webservice calls
sunSecurityKrb5RcacheValue =
System.getProperty(SUN_SECURITY_KRB5_RCACHE_KEY);
System.setProperty(SUN_SECURITY_KRB5_RCACHE_KEY, "none");
testMiniKDC = new MiniKdc(MiniKdc.createConf(), testRootDir);
setupKDC();
setupAndStartRM();
@ -114,6 +121,12 @@ public class TestRMWebServicesDelegationTokenAuthentication {
if (rm != null) {
rm.stop();
}
if (sunSecurityKrb5RcacheValue == null) {
System.clearProperty(SUN_SECURITY_KRB5_RCACHE_KEY);
} else {
System.setProperty(SUN_SECURITY_KRB5_RCACHE_KEY,
sunSecurityKrb5RcacheValue);
}
}
@Parameterized.Parameters