Skip to content

Commit dbe9d34

Browse files
authored
KAFKA-19624: Improve consistency of command-line arguments for consumer performance tests (#20385)
resolves https://issues.apache.org/jira/browse/KAFKA-19624 Reviewers: @brandboat, @AndrewJSchofield, @m1a2st
1 parent 71efb89 commit dbe9d34

File tree

6 files changed

+458
-120
lines changed

6 files changed

+458
-120
lines changed

tests/kafkatest/services/performance/consumer_performance.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class ConsumerPerformanceService(PerformanceService):
4040
"socket-buffer-size", "The size of the tcp RECV size."
4141
4242
"new-consumer", "Use the new consumer implementation."
43-
"consumer.config", "Consumer config properties file."
43+
"command-config", "Config properties file."
4444
"""
4545

4646
# Root directory for persistent output
@@ -83,10 +83,14 @@ def __init__(self, context, num_nodes, kafka, topic, messages, version=DEV_BRANC
8383
def args(self, version):
8484
"""Dictionary of arguments used to start the Consumer Performance script."""
8585
args = {
86-
'topic': self.topic,
87-
'messages': self.messages
86+
'topic': self.topic
8887
}
8988

89+
if version.supports_command_config():
90+
args['num-records'] = self.messages
91+
else:
92+
args['messages'] = self.messages
93+
9094
if version < V_2_5_0:
9195
args['broker-list'] = self.kafka.bootstrap_servers(self.security_config.security_protocol)
9296
else:
@@ -115,7 +119,10 @@ def start_cmd(self, node):
115119
for key, value in self.args(node.version).items():
116120
cmd += " --%s %s" % (key, value)
117121

118-
cmd += " --consumer.config %s" % ConsumerPerformanceService.CONFIG_FILE
122+
if node.version.supports_command_config():
123+
cmd += " --command-config %s" % ConsumerPerformanceService.CONFIG_FILE
124+
else:
125+
cmd += " --consumer.config %s" % ConsumerPerformanceService.CONFIG_FILE
119126

120127
for key, value in self.settings.items():
121128
cmd += " %s=%s" % (str(key), str(value))

tests/kafkatest/services/performance/share_consumer_performance.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class ShareConsumerPerformanceService(PerformanceService):
3333
3434
"socket-buffer-size", "The size of the tcp RECV size."
3535
36-
"consumer.config", "Consumer config properties file."
36+
"command-config", "Config properties file."
3737
"""
3838

3939
# Root directory for persistent output
@@ -73,16 +73,20 @@ def __init__(self, context, num_nodes, kafka, topic, messages, group="perf-share
7373
for node in self.nodes:
7474
node.version = version
7575

76-
def args(self):
76+
def args(self, version):
7777
"""Dictionary of arguments used to start the Share Consumer Performance script."""
7878
args = {
7979
'topic': self.topic,
80-
'messages': self.messages,
8180
'bootstrap-server': self.kafka.bootstrap_servers(self.security_config.security_protocol),
8281
'group': self.group,
8382
'timeout': self.timeout
8483
}
8584

85+
if version.supports_command_config():
86+
args['num-records'] = self.messages
87+
else:
88+
args['messages'] = self.messages
89+
8690
if self.fetch_size is not None:
8791
args['fetch-size'] = self.fetch_size
8892

@@ -97,10 +101,13 @@ def start_cmd(self, node):
97101
cmd += " export KAFKA_OPTS=%s;" % self.security_config.kafka_opts
98102
cmd += " export KAFKA_LOG4J_OPTS=\"%s%s\";" % (get_log4j_config_param(node), get_log4j_config_for_tools(node))
99103
cmd += " %s" % self.path.script("kafka-share-consumer-perf-test.sh", node)
100-
for key, value in self.args().items():
104+
for key, value in self.args(node.version).items():
101105
cmd += " --%s %s" % (key, value)
102106

103-
cmd += " --consumer.config %s" % ShareConsumerPerformanceService.CONFIG_FILE
107+
if node.version.supports_command_config():
108+
cmd += " --command-config %s" % ShareConsumerPerformanceService.CONFIG_FILE
109+
else:
110+
cmd += " --consumer.config %s" % ShareConsumerPerformanceService.CONFIG_FILE
104111

105112
for key, value in self.settings.items():
106113
cmd += " %s=%s" % (str(key), str(value))

0 commit comments

Comments
 (0)