mirror of https://github.com/apache/kafka.git
KAFKA-17096 Fix kafka_log4j_appender.py (#16559)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
This commit is contained in:
parent
01cf24a1ca
commit
0ada8fac68
|
@ -1211,6 +1211,9 @@ project(':core') {
|
||||||
//By default gradle does not handle test dependencies between the sub-projects
|
//By default gradle does not handle test dependencies between the sub-projects
|
||||||
//This line is to include clients project test jar to dependant-testlibs
|
//This line is to include clients project test jar to dependant-testlibs
|
||||||
from (project(':clients').testJar ) { "$buildDir/dependant-testlibs" }
|
from (project(':clients').testJar ) { "$buildDir/dependant-testlibs" }
|
||||||
|
// log4j-appender is not in core dependencies,
|
||||||
|
// so we add it to dependant-testlibs to avoid ClassNotFoundException in running kafka_log4j_appender.py
|
||||||
|
from (project(':log4j-appender').jar ) { "$buildDir/dependant-testlibs" }
|
||||||
duplicatesStrategy 'exclude'
|
duplicatesStrategy 'exclude'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,20 +15,21 @@
|
||||||
|
|
||||||
from ducktape.services.background_thread import BackgroundThreadService
|
from ducktape.services.background_thread import BackgroundThreadService
|
||||||
|
|
||||||
from kafkatest.directory_layout.kafka_path import KafkaPathResolverMixin
|
from kafkatest.directory_layout.kafka_path import KafkaPathResolverMixin, CORE_DEPENDANT_TEST_LIBS_JAR_NAME
|
||||||
from kafkatest.services.security.security_config import SecurityConfig
|
from kafkatest.services.security.security_config import SecurityConfig
|
||||||
from kafkatest.services.kafka.util import fix_opts_for_new_jvm
|
from kafkatest.services.kafka.util import fix_opts_for_new_jvm
|
||||||
|
from kafkatest.version import DEV_BRANCH
|
||||||
|
|
||||||
|
|
||||||
class KafkaLog4jAppender(KafkaPathResolverMixin, BackgroundThreadService):
|
class KafkaLog4jAppender(KafkaPathResolverMixin, BackgroundThreadService):
|
||||||
|
|
||||||
logs = {
|
logs = {
|
||||||
"producer_log": {
|
"producer_log": {
|
||||||
"path": "/mnt/kafka_log4j_appender.log",
|
"path": "/mnt/kafka_log4j_appender.log",
|
||||||
"collect_default": False}
|
"collect_default": False}
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, context, num_nodes, kafka, topic, max_messages=-1, security_protocol="PLAINTEXT", tls_version=None):
|
def __init__(self, context, num_nodes, kafka, topic, max_messages=-1, security_protocol="PLAINTEXT",
|
||||||
|
tls_version=None):
|
||||||
super(KafkaLog4jAppender, self).__init__(context, num_nodes)
|
super(KafkaLog4jAppender, self).__init__(context, num_nodes)
|
||||||
|
|
||||||
self.kafka = kafka
|
self.kafka = kafka
|
||||||
|
@ -48,7 +49,11 @@ class KafkaLog4jAppender(KafkaPathResolverMixin, BackgroundThreadService):
|
||||||
node.account.ssh(cmd)
|
node.account.ssh(cmd)
|
||||||
|
|
||||||
def start_cmd(self, node):
|
def start_cmd(self, node):
|
||||||
|
# Since the core module does not contain the log4j-appender, we need to add it manually.
|
||||||
|
core_dependant_test_libs_jar = self.path.jar(CORE_DEPENDANT_TEST_LIBS_JAR_NAME, DEV_BRANCH)
|
||||||
cmd = fix_opts_for_new_jvm(node)
|
cmd = fix_opts_for_new_jvm(node)
|
||||||
|
cmd += "for file in %s; do CLASSPATH=$CLASSPATH:$file; done;" % core_dependant_test_libs_jar
|
||||||
|
cmd += " export CLASSPATH;"
|
||||||
cmd += self.path.script("kafka-run-class.sh", node)
|
cmd += self.path.script("kafka-run-class.sh", node)
|
||||||
cmd += " "
|
cmd += " "
|
||||||
cmd += self.java_class_name()
|
cmd += self.java_class_name()
|
||||||
|
|
Loading…
Reference in New Issue