This is an automated email from the ASF dual-hosted git repository.
showuon pushed a commit to branch 3.6
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/3.6 by this push:
new 28736badcf3 MINOR: Use "add-exports" only when jdk >= 16 in minikdc
(#14232)
28736badcf3 is described below
commit 28736badcf361d63abf9bea6677ea7aeb1def4d8
Author: Luke Chen <[email protected]>
AuthorDate: Fri Aug 25 11:52:37 2023 +0800
MINOR: Use "add-exports" only when jdk >= 16 in minikdc (#14232)
Use "add-exports" only when jdk >= 16 in minikdc
Reviewers: Greg Harris <[email protected]>
---
tests/kafkatest/services/security/minikdc.py | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tests/kafkatest/services/security/minikdc.py
b/tests/kafkatest/services/security/minikdc.py
index 29ae0fb51b9..14cf2a6d1e6 100644
--- a/tests/kafkatest/services/security/minikdc.py
+++ b/tests/kafkatest/services/security/minikdc.py
@@ -22,6 +22,7 @@ from tempfile import mkstemp
from ducktape.services.service import Service
from kafkatest.directory_layout.kafka_path import KafkaPathResolverMixin,
CORE_LIBS_JAR_NAME, CORE_DEPENDANT_TEST_LIBS_JAR_NAME
+from kafkatest.utils.remote_account import java_version
from kafkatest.version import DEV_BRANCH
@@ -107,8 +108,12 @@ class MiniKdc(KafkaPathResolverMixin, Service):
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;"
- # 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\";"
+
+ jdk_version = java_version(node)
+ if jdk_version >= 16:
+ # 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))
with node.account.monitor_log(MiniKdc.LOG_FILE) as monitor: