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,