From b078116f50f0e57d0fa4d527f021177a09a62274 Mon Sep 17 00:00:00 2001 From: Gabor Somogyi Date: Fri, 25 Oct 2019 09:49:05 +0200 Subject: [PATCH 1/2] [SPARK-29580][TESTS] Add kerberos debug messages for Kafka secure tests --- .../spark/sql/kafka010/KafkaTestUtils.scala | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaTestUtils.scala b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaTestUtils.scala index bbb72bf9973e3..afab32e3cdd86 100644 --- a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaTestUtils.scala +++ b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaTestUtils.scala @@ -67,6 +67,8 @@ class KafkaTestUtils( secure: Boolean = false) extends Logging { private val JAVA_AUTH_CONFIG = "java.security.auth.login.config" + private val IBM_KRB_DEBUG_CONFIG = "com.ibm.security.krb5.Krb5Debug" + private val SUN_KRB_DEBUG_CONFIG = "sun.security.krb5.debug" private val localCanonicalHostName = InetAddress.getLoopbackAddress().getCanonicalHostName() logInfo(s"Local host name is $localCanonicalHostName") @@ -133,6 +135,7 @@ class KafkaTestUtils( private def setUpMiniKdc(): Unit = { val kdcDir = Utils.createTempDir() val kdcConf = MiniKdc.createConf() + kdcConf.setProperty(MiniKdc.DEBUG, "true") kdc = new MiniKdc(kdcConf, kdcDir) kdc.start() kdcReady = true @@ -238,6 +241,7 @@ class KafkaTestUtils( } if (secure) { + setupKrbDebug() setUpMiniKdc() val jaasConfigFile = createKeytabsAndJaasConfigFile() System.setProperty(JAVA_AUTH_CONFIG, jaasConfigFile) @@ -252,6 +256,14 @@ class KafkaTestUtils( } } + def setupKrbDebug(): Unit = { + if (System.getProperty("java.vendor").contains("IBM")) { + System.setProperty(IBM_KRB_DEBUG_CONFIG, "all") + } else { + System.setProperty(SUN_KRB_DEBUG_CONFIG, "true") + } + } + /** Teardown the whole servers, including Kafka broker and Zookeeper */ def teardown(): Unit = { if (leakDetector != null) { @@ -303,6 +315,15 @@ class KafkaTestUtils( kdc.stop() } UserGroupInformation.reset() + teardownKrbDebug() + } + + def teardownKrbDebug(): Unit = { + if (System.getProperty("java.vendor").contains("IBM")) { + System.clearProperty(IBM_KRB_DEBUG_CONFIG) + } else { + System.clearProperty(SUN_KRB_DEBUG_CONFIG) + } } /** Create a Kafka topic and wait until it is propagated to the whole cluster */ From 3f27d316d16dc803f9407817bb89bd43f6ca2b46 Mon Sep 17 00:00:00 2001 From: Gabor Somogyi Date: Fri, 25 Oct 2019 10:18:24 +0200 Subject: [PATCH 2/2] Hide functions --- .../scala/org/apache/spark/sql/kafka010/KafkaTestUtils.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaTestUtils.scala b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaTestUtils.scala index afab32e3cdd86..6c745987b4c23 100644 --- a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaTestUtils.scala +++ b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaTestUtils.scala @@ -256,7 +256,7 @@ class KafkaTestUtils( } } - def setupKrbDebug(): Unit = { + private def setupKrbDebug(): Unit = { if (System.getProperty("java.vendor").contains("IBM")) { System.setProperty(IBM_KRB_DEBUG_CONFIG, "all") } else { @@ -318,7 +318,7 @@ class KafkaTestUtils( teardownKrbDebug() } - def teardownKrbDebug(): Unit = { + private def teardownKrbDebug(): Unit = { if (System.getProperty("java.vendor").contains("IBM")) { System.clearProperty(IBM_KRB_DEBUG_CONFIG) } else {