AngersZhuuuu commented on issue #26594: [SPARK-29957][TEST] Bump MiniKdc to 3.2.0 URL: https://github.com/apache/spark/pull/26594#issuecomment-557878659 @dongjoon-hyun @wangyum fix this in https://github.com/apache/spark/pull/26533/commits/50a11ecc445bc0398b86193efc2ade7e22498a34 And i checked the code , in `hadoop-2.7 MiniKdc`, after start all minikdc server, it will refresh Config which is related to kerberos. https://github.com/apache/hadoop/blob/b165c4fe8a74265c792ce23f546c64604acf0e41/hadoop-common-project/hadoop-minikdc/src/main/java/org/apache/hadoop/minikdc/MiniKdc.java#L474-L480 But in `Hadoop-3.2.0 's MiniKDC`, when start minikdc, it won't call `refresh()` method. Since our all UT are tested in one process. So other UT about kerberos impact Kafka's UT about Kerberos. We have two way to fix this. 1. Add config to refresh Krb5Conf in jaas config `refreshKrb5Config` 2. Call refresh method in `KafkaTestUtils.setUpMiniKdc()` like ``` // refresh the config val classRef: Class[_] = if (System.getProperty("java.vendor").contains("IBM")) { Utils.classForName("com.ibm.security.krb5.internal.Config") } else { Utils.classForName("sun.security.krb5.Config") } val refreshMethod = classRef.getMethod("refresh", Array.empty[Class[_]]: _*) refreshMethod.invoke(classRef, Array.empty[AnyRef]: _*) ```
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
