You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2021/06/23 20:04:42 UTC

[pulsar] branch master updated: [Tests] Fix flaky test ResourceGroupConfigListenerTest (#11048)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new b3545cc  [Tests] Fix flaky test ResourceGroupConfigListenerTest (#11048)
b3545cc is described below

commit b3545cc3b9ecd44ea4cfb1cb8735c65f6d85fbe9
Author: Lari Hotari <lh...@users.noreply.github.com>
AuthorDate: Wed Jun 23 23:04:03 2021 +0300

    [Tests] Fix flaky test ResourceGroupConfigListenerTest (#11048)
    
    Fixes #11045
    
    ### Motivation
    
    Fixes flaky test ResourceGroupConfigListenerTest
    
    ### Modifications
    
    - remove `atMost` and rely on Awaitility default of 10 seconds.
    - refactor deletion test to not use Thread.sleep
      - first check that all resource groups exist
      - then delete
---
 .../ResourceGroupConfigListenerTest.java           | 36 +++++++++++-----------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupConfigListenerTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupConfigListenerTest.java
index 9c78e4b..3071edb 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupConfigListenerTest.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupConfigListenerTest.java
@@ -22,23 +22,18 @@ import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertThrows;
-
 import com.google.common.collect.Sets;
+import java.util.Random;
 import org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest;
 import org.apache.pulsar.client.admin.PulsarAdminException;
 import org.apache.pulsar.common.policies.data.ClusterData;
-import org.apache.pulsar.common.policies.data.ClusterDataImpl;
 import org.apache.pulsar.common.policies.data.ResourceGroup;
 import org.apache.pulsar.common.policies.data.TenantInfoImpl;
 import org.awaitility.Awaitility;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Ignore;
 import org.testng.annotations.Test;
 
-import java.util.Random;
-import java.util.concurrent.TimeUnit;
-
 public class ResourceGroupConfigListenerTest extends MockedPulsarServiceBaseTest {
 
     ResourceGroup testAddRg = new ResourceGroup();
@@ -64,7 +59,7 @@ public class ResourceGroupConfigListenerTest extends MockedPulsarServiceBaseTest
     public void createResourceGroup(String rgName, ResourceGroup rg) throws PulsarAdminException {
         admin.resourcegroups().createResourceGroup(rgName, rg);
 
-        Awaitility.await().atMost(1, TimeUnit.SECONDS).untilAsserted(() -> {
+        Awaitility.await().untilAsserted(() -> {
             final org.apache.pulsar.broker.resourcegroup.ResourceGroup resourceGroup = pulsar
                     .getResourceGroupServiceManager().resourceGroupGet(rgName);
             assertNotNull(resourceGroup);
@@ -75,14 +70,14 @@ public class ResourceGroupConfigListenerTest extends MockedPulsarServiceBaseTest
 
     public void deleteResourceGroup(String rgName) throws PulsarAdminException {
         admin.resourcegroups().deleteResourceGroup(rgName);
-        Awaitility.await().atMost(1, TimeUnit.SECONDS)
+        Awaitility.await()
                 .untilAsserted(() -> assertNull(pulsar.getResourceGroupServiceManager().resourceGroupGet(rgName)));
     }
 
     public void updateResourceGroup(String rgName, ResourceGroup rg) throws PulsarAdminException {
         testAddRg.setPublishRateInMsgs(200000);
         admin.resourcegroups().updateResourceGroup(rgName, rg);
-        Awaitility.await().atMost(1, TimeUnit.SECONDS).untilAsserted(() -> {
+        Awaitility.await().untilAsserted(() -> {
             final org.apache.pulsar.broker.resourcegroup.ResourceGroup resourceGroup = pulsar
                     .getResourceGroupServiceManager().resourceGroupGet(rgName);
             assertNotNull(resourceGroup);
@@ -126,7 +121,7 @@ public class ResourceGroupConfigListenerTest extends MockedPulsarServiceBaseTest
         admin.namespaces().createNamespace(namespaceName);
         admin.namespaces().setNamespaceResourceGroup(namespaceName, rgName);
 
-        Awaitility.await().atMost(5, TimeUnit.SECONDS).untilAsserted(() ->
+        Awaitility.await().untilAsserted(() ->
                         assertNotNull(pulsar
                                 .getResourceGroupServiceManager()
                                 .getNamespaceResourceGroup(namespaceName)));
@@ -150,20 +145,25 @@ public class ResourceGroupConfigListenerTest extends MockedPulsarServiceBaseTest
             admin.resourcegroups().createResourceGroup(rgName, testAddRg);
         }
 
-        Thread.sleep(1000);
+        Awaitility.await().untilAsserted(() -> {
+            for (int i = 0; i < MAX_RGS; i++) {
+                String rgName = String.format("testRg-%d", i);
+                assertNotNull(pulsar.getResourceGroupServiceManager().resourceGroupGet(rgName));
+            }
+        });
+
 
         for (int i = 0; i < MAX_RGS; i++) {
             String rgName = String.format("testRg-%d", i);
-            assertNotNull(pulsar.getResourceGroupServiceManager().resourceGroupGet(rgName));
             admin.resourcegroups().deleteResourceGroup(rgName);
         }
 
-        Thread.sleep(1000);
-
-        for (int i = 0; i < MAX_RGS; i++) {
-            String rgName = String.format("testRg-%d", i);
-            assertNull(pulsar.getResourceGroupServiceManager().resourceGroupGet(rgName));
-        }
+        Awaitility.await().untilAsserted(() -> {
+            for (int i = 0; i < MAX_RGS; i++) {
+                String rgName = String.format("testRg-%d", i);
+                assertNull(pulsar.getResourceGroupServiceManager().resourceGroupGet(rgName));
+            }
+        });
     }
 
     private void prepareData() throws PulsarAdminException {