Chia-Ping Tsai created KAFKA-18990:
--------------------------------------
Summary: Optimize BaseQuotaTest#produceUntilThrottled to avoid
redundant MetricName creation
Key: KAFKA-18990
URL: https://issues.apache.org/jira/browse/KAFKA-18990
Project: Kafka
Issue Type: Improvement
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
reference:
https://github.com/apache/kafka/blob/trunk/core/src/test/scala/integration/kafka/api/BaseQuotaTest.scala#L229
{code:java}
def produceUntilThrottled(maxRecords: Int, waitForRequestCompletion: Boolean
= true): Int = {
var numProduced = 0
var throttled = false
do {
val payload = numProduced.toString.getBytes
val future = producer.send(new ProducerRecord[Array[Byte],
Array[Byte]](topic, null, null, payload),
new ErrorLoggingCallback(topic, null, null, true))
numProduced += 1
do {
// move this out of loop
val metric = throttleMetric(QuotaType.PRODUCE, producerClientId)
throttled = metric != null && metricValue(metric) > 0
} while (!future.isDone && (!throttled || waitForRequestCompletion))
} while (numProduced < maxRecords && !throttled)
numProduced
}
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)