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:

Reply via email to