From 4567f39825e9aa47a32ea70912b8a2249a50173a Mon Sep 17 00:00:00 2001 From: Kuan-Po Tseng Date: Wed, 25 Dec 2024 06:52:26 +0800 Subject: [PATCH] KAFKA-18343: Use java_pids to implement pids (#18312) Related to KAFKA-18343, Currently, there is an issue that the ps ax output is truncated, which causes the Kafka process ID to be unavailable. This issue can be mitigated by replacing ps ax with jcmd (i.e. using java_pids in ducktape), as it does not suffer from the truncation problem. Reviewers: Justine Olshan --- tests/kafkatest/services/kafka/kafka.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/kafkatest/services/kafka/kafka.py b/tests/kafkatest/services/kafka/kafka.py index ba1b6937867..a28106d7b30 100644 --- a/tests/kafkatest/services/kafka/kafka.py +++ b/tests/kafkatest/services/kafka/kafka.py @@ -951,9 +951,7 @@ class KafkaService(KafkaPathResolverMixin, JmxMixin, Service): def pids(self, node): """Return process ids associated with running processes on the given node.""" try: - cmd = "ps ax | grep -i %s | grep -v grep | awk '{print $1}'" % self.java_class_name() - pid_arr = [pid for pid in node.account.ssh_capture(cmd, allow_fail=True, callback=int)] - return pid_arr + return node.account.java_pids(self.java_class_name()) except (RemoteCommandError, ValueError) as e: return [] @@ -1935,4 +1933,4 @@ class KafkaService(KafkaPathResolverMixin, JmxMixin, Service): return output def java_class_name(self): - return "kafka.Kafka" + return "kafka\.Kafka"