From 6f9ee1ef051527dff8ec29ff71edbf2d6f2a628d Mon Sep 17 00:00:00 2001 From: see-quick Date: Thu, 13 Jul 2023 11:23:53 +0200 Subject: [PATCH 1/3] Fix MiniKDC Java 17 issue in system tests Signed-off-by: see-quick --- tests/kafkatest/services/security/minikdc.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/kafkatest/services/security/minikdc.py b/tests/kafkatest/services/security/minikdc.py index 23327db988379..2e6d68d3ec3cc 100644 --- a/tests/kafkatest/services/security/minikdc.py +++ b/tests/kafkatest/services/security/minikdc.py @@ -107,6 +107,12 @@ def start_node(self, node): cmd = "for file in %s; do CLASSPATH=$CLASSPATH:$file; done;" % core_libs_jar cmd += " for file in %s; do CLASSPATH=$CLASSPATH:$file; done;" % core_dependant_test_libs_jar cmd += " export CLASSPATH;" + # exports sun.security.krb5 avoiding Java 17 error: + # Exception in thread "main" java.lang.IllegalAccessException: + # class kafka.security.minikdc.MiniKdc cannot access class sun.security.krb5.Config + # (in module java.security.jgss) because module java.security.jgss does not export + # sun.security.krb5 to unnamed module @24959ca4 + cmd += " export KAFKA_OPTS=\"--add-exports java.security.jgss/sun.security.krb5=ALL-UNNAMED\";" cmd += " %s kafka.security.minikdc.MiniKdc %s %s %s %s 1>> %s 2>> %s &" % (self.path.script("kafka-run-class.sh", node), MiniKdc.WORK_DIR, MiniKdc.PROPS_FILE, MiniKdc.KEYTAB_FILE, principals, MiniKdc.LOG_FILE, MiniKdc.LOG_FILE) self.logger.debug("Attempting to start MiniKdc on %s with command: %s" % (str(node.account), cmd)) with node.account.monitor_log(MiniKdc.LOG_FILE) as monitor: From d34521e3de34584a23bb96378c657d865a8db960 Mon Sep 17 00:00:00 2001 From: see-quick Date: Fri, 14 Jul 2023 10:14:59 +0200 Subject: [PATCH 2/3] update comment Signed-off-by: see-quick --- tests/kafkatest/services/security/minikdc.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tests/kafkatest/services/security/minikdc.py b/tests/kafkatest/services/security/minikdc.py index 2e6d68d3ec3cc..25da9f0c188ec 100644 --- a/tests/kafkatest/services/security/minikdc.py +++ b/tests/kafkatest/services/security/minikdc.py @@ -107,11 +107,7 @@ def start_node(self, node): cmd = "for file in %s; do CLASSPATH=$CLASSPATH:$file; done;" % core_libs_jar cmd += " for file in %s; do CLASSPATH=$CLASSPATH:$file; done;" % core_dependant_test_libs_jar cmd += " export CLASSPATH;" - # exports sun.security.krb5 avoiding Java 17 error: - # Exception in thread "main" java.lang.IllegalAccessException: - # class kafka.security.minikdc.MiniKdc cannot access class sun.security.krb5.Config - # (in module java.security.jgss) because module java.security.jgss does not export - # sun.security.krb5 to unnamed module @24959ca4 + # fixes java.lang.IllegalAccessException because of usage class sun.security.krb5.Config cmd += " export KAFKA_OPTS=\"--add-exports java.security.jgss/sun.security.krb5=ALL-UNNAMED\";" cmd += " %s kafka.security.minikdc.MiniKdc %s %s %s %s 1>> %s 2>> %s &" % (self.path.script("kafka-run-class.sh", node), MiniKdc.WORK_DIR, MiniKdc.PROPS_FILE, MiniKdc.KEYTAB_FILE, principals, MiniKdc.LOG_FILE, MiniKdc.LOG_FILE) self.logger.debug("Attempting to start MiniKdc on %s with command: %s" % (str(node.account), cmd)) From 900f80edf725715794d947c1eb53d562b174b3b3 Mon Sep 17 00:00:00 2001 From: Ismael Juma Date: Sun, 6 Aug 2023 12:58:45 -0700 Subject: [PATCH 3/3] Minor comment improvement --- tests/kafkatest/services/security/minikdc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/kafkatest/services/security/minikdc.py b/tests/kafkatest/services/security/minikdc.py index 25da9f0c188ec..29ae0fb51b91f 100644 --- a/tests/kafkatest/services/security/minikdc.py +++ b/tests/kafkatest/services/security/minikdc.py @@ -107,7 +107,7 @@ def start_node(self, node): cmd = "for file in %s; do CLASSPATH=$CLASSPATH:$file; done;" % core_libs_jar cmd += " for file in %s; do CLASSPATH=$CLASSPATH:$file; done;" % core_dependant_test_libs_jar cmd += " export CLASSPATH;" - # fixes java.lang.IllegalAccessException because of usage class sun.security.krb5.Config + # avoids java.lang.IllegalAccessException due to usage of internal `sun.security.krb5.Config` in `MiniKdc` cmd += " export KAFKA_OPTS=\"--add-exports java.security.jgss/sun.security.krb5=ALL-UNNAMED\";" cmd += " %s kafka.security.minikdc.MiniKdc %s %s %s %s 1>> %s 2>> %s &" % (self.path.script("kafka-run-class.sh", node), MiniKdc.WORK_DIR, MiniKdc.PROPS_FILE, MiniKdc.KEYTAB_FILE, principals, MiniKdc.LOG_FILE, MiniKdc.LOG_FILE) self.logger.debug("Attempting to start MiniKdc on %s with command: %s" % (str(node.account), cmd))