From a4f26a2989731f205c25300af87e571231faf3a2 Mon Sep 17 00:00:00 2001 From: Ivan Yurchenko Date: Sun, 31 May 2026 12:36:18 +0200 Subject: [PATCH] KAFKA-19193: trace-log rack-specific load stats in rack-aware mode As a follow-up to comments in https://github.com/apache/kafka/pull/19850 --- .../producer/internals/BuiltInPartitioner.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/clients/src/main/java/org/apache/kafka/clients/producer/internals/BuiltInPartitioner.java b/clients/src/main/java/org/apache/kafka/clients/producer/internals/BuiltInPartitioner.java index ba58840a9c638..21d715af662e5 100644 --- a/clients/src/main/java/org/apache/kafka/clients/producer/internals/BuiltInPartitioner.java +++ b/clients/src/main/java/org/apache/kafka/clients/producer/internals/BuiltInPartitioner.java @@ -334,8 +334,19 @@ public void updatePartitionLoadStats(int[] queueSizes, int[] partitionIds, Strin // Invert and fold the queue size, so that they become separator values in the CFT. invertAndFoldQueueSizeArray(queueSizes, maxSizePlus1, length); - log.trace("Partition load stats for topic {}: CFT={}, IDs={}, length={}", - topic, queueSizes, partitionIds, length); + if (log.isTraceEnabled()) { + if (rackAware) { + assert partitionLoadStatsInThisRack != null; + log.trace( + "Partition load stats for topic {}: CFT={}, IDs={}, length={}; in producer rack: CFT={}, IDs={}, length={}", + topic, + queueSizes, partitionIds, length, + partitionLoadStatsInThisRack.cumulativeFrequencyTable, partitionLoadStatsInThisRack.partitionIds, partitionLoadStatsInThisRack.length); + } else { + log.trace("Partition load stats for topic {}: CFT={}, IDs={}, length={}", + topic, queueSizes, partitionIds, length); + } + } partitionLoadStatsHolder = new PartitionLoadStatsHolder( new PartitionLoadStats(queueSizes, partitionIds, length), partitionLoadStatsInThisRack