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

lhotari 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 355ba6002fc [fix][test] Fix flaky 
NamespacesTest.testSetOffloadThreshold (#18628)
355ba6002fc is described below

commit 355ba6002fc33b2716f59ca5d3a4fac667ecf3e1
Author: Lari Hotari <[email protected]>
AuthorDate: Fri Nov 25 11:13:27 2022 +0200

    [fix][test] Fix flaky NamespacesTest.testSetOffloadThreshold (#18628)
---
 .../apache/pulsar/broker/admin/NamespacesTest.java | 45 ++++++++--------------
 1 file changed, 15 insertions(+), 30 deletions(-)

diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java
index 2b0a8c60b69..05a86dc06e2 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java
@@ -1457,46 +1457,25 @@ public class NamespacesTest extends 
MockedPulsarServiceBaseTest {
         TopicName topicName = TopicName.get("persistent", this.testTenant, 
"offload", "offload-topic");
         String namespace =  topicName.getNamespaceObject().toString();
         System.out.println(namespace);
-        // set a default
-        
pulsar.getConfiguration().setManagedLedgerOffloadAutoTriggerSizeThresholdBytes(1);
-        
pulsar.getConfiguration().setManagedLedgerOffloadThresholdInSeconds(100);
         // create the namespace
         admin.namespaces().createNamespace(namespace, 
Set.of(testLocalCluster));
         admin.topics().createNonPartitionedTopic(topicName.toString());
 
         admin.namespaces().setOffloadDeleteLag(namespace, 10000, 
TimeUnit.SECONDS);
+        // assert we get -1 which indicates it will fall back to default
         assertEquals(admin.namespaces().getOffloadThreshold(namespace), -1);
         
assertEquals(admin.namespaces().getOffloadThresholdInSeconds(namespace), -1);
 
-        // assert we get the default which indicates it will fall back to 
default
-        assertEquals(admin.namespaces().getOffloadThreshold(namespace), -1);
-        
assertEquals(admin.namespaces().getOffloadThresholdInSeconds(namespace), -1);
-        // the ledger config should have the expected value
-        ManagedLedgerConfig ledgerConf = 
pulsar.getBrokerService().getManagedLedgerConfig(topicName).get();
-        MockLedgerOffloader offloader = new 
MockLedgerOffloader(OffloadPoliciesImpl.create("S3", "", "", "",
-                null, null,
-                null, null,
-                OffloadPoliciesImpl.DEFAULT_MAX_BLOCK_SIZE_IN_BYTES,
-                OffloadPoliciesImpl.DEFAULT_READ_BUFFER_SIZE_IN_BYTES,
-                admin.namespaces().getOffloadThreshold(namespace),
-                admin.namespaces().getOffloadThresholdInSeconds(namespace),
-                
pulsar.getConfiguration().getManagedLedgerOffloadDeletionLagMs(),
-                OffloadPoliciesImpl.DEFAULT_OFFLOADED_READ_PRIORITY));
-        ledgerConf.setLedgerOffloader(offloader);
-        
assertEquals(ledgerConf.getLedgerOffloader().getOffloadPolicies().getManagedLedgerOffloadThresholdInBytes(),
-                Long.valueOf(-1));
-        
assertEquals(ledgerConf.getLedgerOffloader().getOffloadPolicies().getManagedLedgerOffloadThresholdInSeconds(),
-                Long.valueOf(-1));
-
-
         // set an override for the namespace
         admin.namespaces().setOffloadThreshold(namespace, 100);
         admin.namespaces().setOffloadThresholdInSeconds(namespace, 100);
-        assertEquals(admin.namespaces().getOffloadThreshold(namespace), 100);
-        
assertEquals(admin.namespaces().getOffloadThresholdInSeconds(namespace), 100);
-        ledgerConf = 
pulsar.getBrokerService().getManagedLedgerConfig(topicName).get();
+        Awaitility.await().untilAsserted(() -> {
+                    
assertEquals(admin.namespaces().getOffloadThreshold(namespace), 100);
+                    
assertEquals(admin.namespaces().getOffloadThresholdInSeconds(namespace), 100);
+                });
+        ManagedLedgerConfig ledgerConf = 
pulsar.getBrokerService().getManagedLedgerConfig(topicName).get();
         admin.namespaces().getOffloadPolicies(namespace);
-        offloader = new MockLedgerOffloader(OffloadPoliciesImpl.create("S3", 
"", "", "",
+        MockLedgerOffloader offloader = new 
MockLedgerOffloader(OffloadPoliciesImpl.create("S3", "", "", "",
                 null, null,
                 null, null,
                 OffloadPoliciesImpl.DEFAULT_MAX_BLOCK_SIZE_IN_BYTES,
@@ -1514,7 +1493,10 @@ public class NamespacesTest extends 
MockedPulsarServiceBaseTest {
         // set another negative value to disable
         admin.namespaces().setOffloadThreshold(namespace, -2);
         admin.namespaces().setOffloadThresholdInSeconds(namespace, -2);
-        assertEquals(-2, admin.namespaces().getOffloadThreshold(namespace));
+        Awaitility.await().untilAsserted(() -> {
+                    
assertEquals(admin.namespaces().getOffloadThreshold(namespace), -2);
+                    
assertEquals(admin.namespaces().getOffloadThresholdInSeconds(namespace), -2);
+                });
         ledgerConf = 
pulsar.getBrokerService().getManagedLedgerConfig(topicName).get();
         offloader = new MockLedgerOffloader(OffloadPoliciesImpl.create("S3", 
"", "", "",
                 null, null,
@@ -1534,7 +1516,10 @@ public class NamespacesTest extends 
MockedPulsarServiceBaseTest {
         // set back to -1 and fall back to default
         admin.namespaces().setOffloadThreshold(namespace, -1);
         admin.namespaces().setOffloadThresholdInSeconds(namespace, -1);
-        assertEquals(-1, admin.namespaces().getOffloadThreshold(namespace));
+        Awaitility.await().untilAsserted(() -> {
+                    
assertEquals(admin.namespaces().getOffloadThreshold(namespace), -1);
+                    
assertEquals(admin.namespaces().getOffloadThresholdInSeconds(namespace), -1);
+                });
         ledgerConf = 
pulsar.getBrokerService().getManagedLedgerConfig(topicName).get();
         offloader = new MockLedgerOffloader(OffloadPoliciesImpl.create("S3", 
"", "", "",
                 null, null,

Reply via email to