This is an automated email from the ASF dual-hosted git repository.

alizamus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git


The following commit(s) were added to refs/heads/master by this push:
     new 545d2dc  Fix TestClusterAggregateMetrics (#1842)
545d2dc is described below

commit 545d2dc663520b59f8c6744fe797376bfd6cb628
Author: Neal Sun <[email protected]>
AuthorDate: Tue Sep 21 16:15:55 2021 -0700

    Fix TestClusterAggregateMetrics (#1842)
    
    Fix TestClusterAggregateMetrics
---
 .../mbeans/TestClusterAggregateMetrics.java        | 42 +++++++++++-----------
 1 file changed, 22 insertions(+), 20 deletions(-)

diff --git 
a/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestClusterAggregateMetrics.java
 
b/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestClusterAggregateMetrics.java
index ad59b33..1229f47 100644
--- 
a/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestClusterAggregateMetrics.java
+++ 
b/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestClusterAggregateMetrics.java
@@ -151,17 +151,22 @@ public class TestClusterAggregateMetrics extends 
ZkTestBase {
             .build();
 
     // Everything should be up and running initially with 5 total partitions
-    updateMetrics();
-    Assert.assertEquals(_beanValueMap.get(PARTITION_COUNT), 5L);
-    Assert.assertEquals(_beanValueMap.get(ERROR_PARTITION_COUNT), 0L);
-    Assert.assertEquals(_beanValueMap.get(WITHOUT_TOPSTATE_COUNT), 0L);
-    Assert.assertEquals(_beanValueMap.get(IS_EV_MISMATCH_COUNT), 0L);
+    Map<String, Long> expectedMetricValues = new HashMap<>();
+    expectedMetricValues.put(PARTITION_COUNT, 5L);
+    expectedMetricValues.put(ERROR_PARTITION_COUNT, 0L);
+    expectedMetricValues.put(WITHOUT_TOPSTATE_COUNT, 0L);
+    expectedMetricValues.put(IS_EV_MISMATCH_COUNT, 0L);
+    Assert.assertTrue(verifyMetrics(expectedMetricValues));
 
     // Disable all Participants (instances)
+    _setupTool.getClusterManagementTool()
+        .manuallyEnableMaintenanceMode(CLUSTER_NAME, true, "Test", null);
     for (int i = 0; i < NUM_PARTICIPANTS; i++) {
       String instanceName = PARTICIPANT_PREFIX + "_" + (START_PORT + i);
       _setupTool.getClusterManagementTool().enableInstance(CLUSTER_NAME, 
instanceName, false);
     }
+    _setupTool.getClusterManagementTool()
+        .manuallyEnableMaintenanceMode(CLUSTER_NAME, false, "Test", null);
     // Confirm that the Participants have been disabled
     boolean result = TestHelper.verify(() -> {
       for (int i = 0; i < NUM_PARTICIPANTS; i++) {
@@ -177,11 +182,8 @@ public class TestClusterAggregateMetrics extends 
ZkTestBase {
     Assert.assertTrue(result);
     Assert.assertTrue(verifier.verifyByPolling());
 
-    updateMetrics();
-    Assert.assertEquals(_beanValueMap.get(PARTITION_COUNT), 5L);
-    Assert.assertEquals(_beanValueMap.get(ERROR_PARTITION_COUNT), 0L);
-    Assert.assertEquals(_beanValueMap.get(WITHOUT_TOPSTATE_COUNT), 5L);
-    Assert.assertEquals(_beanValueMap.get(IS_EV_MISMATCH_COUNT), 0L);
+    expectedMetricValues.put(WITHOUT_TOPSTATE_COUNT, 5L);
+    Assert.assertTrue(verifyMetrics(expectedMetricValues));
 
     // Re-enable all Participants (instances)
     for (int i = 0; i < NUM_PARTICIPANTS; i++) {
@@ -203,11 +205,8 @@ public class TestClusterAggregateMetrics extends 
ZkTestBase {
     Assert.assertTrue(result);
     Assert.assertTrue(verifier.verifyByPolling());
 
-    updateMetrics();
-    Assert.assertEquals(_beanValueMap.get(PARTITION_COUNT), 5L);
-    Assert.assertEquals(_beanValueMap.get(ERROR_PARTITION_COUNT), 0L);
-    Assert.assertEquals(_beanValueMap.get(WITHOUT_TOPSTATE_COUNT), 0L);
-    Assert.assertEquals(_beanValueMap.get(IS_EV_MISMATCH_COUNT), 0L);
+    expectedMetricValues.put(WITHOUT_TOPSTATE_COUNT, 0L);
+    Assert.assertTrue(verifyMetrics(expectedMetricValues));
 
     // Drop the resource and check that all metrics are zero.
     _setupTool.dropResourceFromCluster(CLUSTER_NAME, TEST_DB);
@@ -219,11 +218,8 @@ public class TestClusterAggregateMetrics extends 
ZkTestBase {
     Assert.assertTrue(result);
     Assert.assertTrue(verifier.verifyByPolling());
 
-    updateMetrics();
-    Assert.assertEquals(_beanValueMap.get(PARTITION_COUNT), 0L);
-    Assert.assertEquals(_beanValueMap.get(ERROR_PARTITION_COUNT), 0L);
-    Assert.assertEquals(_beanValueMap.get(WITHOUT_TOPSTATE_COUNT), 0L);
-    Assert.assertEquals(_beanValueMap.get(IS_EV_MISMATCH_COUNT), 0L);
+    expectedMetricValues.put(PARTITION_COUNT, 0L);
+    Assert.assertTrue(verifyMetrics(expectedMetricValues));
   }
 
   /**
@@ -250,4 +246,10 @@ public class TestClusterAggregateMetrics extends 
ZkTestBase {
       // update failed
     }
   }
+
+  private boolean verifyMetrics(Map<String, Long> expectedValues) {
+    updateMetrics();
+    return expectedValues.entrySet().stream()
+        .allMatch(entry -> 
_beanValueMap.get(entry.getKey()).equals(entry.getValue()));
+  }
 }

Reply via email to