dino2895 commented on code in PR #23250:
URL: https://github.com/apache/kafka/pull/23250#discussion_r3927774993


##########
clients/clients-integration-tests/src/test/java/org/apache/kafka/clients/MetricsDuringTopicCreationDeletionTest.java:
##########
@@ -77,23 +78,30 @@ public void testMetricsDuringTopicCreateDelete() throws 
Exception {
         final int initialPreferredReplicaImbalanceCount = 
getGauge("PreferredReplicaImbalanceCount").value();
         final int initialUnderReplicatedPartitionsCount = 
getGauge("UnderReplicatedPartitions").value();
 
+        AtomicInteger offlinePartitionsCount = new 
AtomicInteger(initialOfflinePartitionsCount);
+        AtomicInteger preferredReplicaImbalanceCount = new 
AtomicInteger(initialPreferredReplicaImbalanceCount);
+        AtomicInteger underReplicatedPartitionsCount = new 
AtomicInteger(initialUnderReplicatedPartitionsCount);
+
         CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
             while (running) {
-                int offlinePartitionsCount = 
getGauge("OfflinePartitionsCount").value();
-                int preferredReplicaImbalanceCount = 
getGauge("PreferredReplicaImbalanceCount").value();
-                int underReplicatedPartitionsCount = 
getGauge("UnderReplicatedPartitions").value();
-
-                if (offlinePartitionsCount != initialOfflinePartitionsCount ||
-                    preferredReplicaImbalanceCount != 
initialPreferredReplicaImbalanceCount ||
-                    underReplicatedPartitionsCount != 
initialUnderReplicatedPartitionsCount) {
+                
offlinePartitionsCount.set(getGauge("OfflinePartitionsCount").value());
+                preferredReplicaImbalanceCount.set(
+                    getGauge("PreferredReplicaImbalanceCount").value());
+                underReplicatedPartitionsCount.set(
+                    getGauge("UnderReplicatedPartitions").value());
+
+                if (offlinePartitionsCount.get() != 
initialOfflinePartitionsCount ||
+                    preferredReplicaImbalanceCount.get() != 
initialPreferredReplicaImbalanceCount ||
+                    underReplicatedPartitionsCount.get() != 
initialUnderReplicatedPartitionsCount) {

Review Comment:
   Okay. I restored the original three-broker topology with replication factor 
three. I also aggregate UnderReplicatedPartitions directly from each broker's 
ReplicaManager to avoid the shared metrics registry limitation described in 
KAFKA-4605. I looped the updated test 11 times locally with retries disabled, 
and all runs passed.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to