You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ji...@apache.org on 2022/09/04 13:16:24 UTC

[pulsar] 02/02: [fix][flaky-test]ConsumedLedgersTrimTest (#17116)

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

jianghaiting pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit fef3b4f06bdc6f04781540f3878a54ccda24afa9
Author: fengyubiao <yu...@streamnative.io>
AuthorDate: Fri Aug 19 07:45:45 2022 +0800

    [fix][flaky-test]ConsumedLedgersTrimTest (#17116)
    
    (cherry picked from commit f6fd6b7897c2266ae490e41dcddc4ce1fbb08df7)
---
 .../pulsar/broker/service/ConsumedLedgersTrimTest.java | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ConsumedLedgersTrimTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ConsumedLedgersTrimTest.java
index 96f8822a72b..355036bdb25 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ConsumedLedgersTrimTest.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ConsumedLedgersTrimTest.java
@@ -54,6 +54,13 @@ public class ConsumedLedgersTrimTest extends BrokerTestBase {
         super.internalCleanup();
     }
 
+    @Override
+    protected void doInitConf() throws Exception {
+        super.doInitConf();
+        super.conf.setDefaultRetentionSizeInMB(-1);
+        super.conf.setDefaultRetentionTimeInMinutes(-1);
+    }
+
     @Test
     public void TestConsumedLedgersTrim() throws Exception {
         conf.setRetentionCheckIntervalInSeconds(1);
@@ -96,7 +103,6 @@ public class ConsumedLedgersTrimTest extends BrokerTestBase {
             assertNotNull(msg);
             consumer.acknowledge(msg);
         }
-        Assert.assertEquals(managedLedger.getLedgersInfoAsList().size(), msgNum / 2);
 
         //no traffic, but consumed ledger will be cleaned
         Thread.sleep(1500);
@@ -123,7 +129,7 @@ public class ConsumedLedgersTrimTest extends BrokerTestBase {
         PersistentTopic persistentTopic = (PersistentTopic) pulsar.getBrokerService().getOrCreateTopic(topicName).get();
         ManagedLedgerConfig managedLedgerConfig = persistentTopic.getManagedLedger().getConfig();
         managedLedgerConfig.setRetentionSizeInMB(-1);
-        managedLedgerConfig.setRetentionTime(1, TimeUnit.SECONDS);
+        managedLedgerConfig.setRetentionTime(-1, TimeUnit.SECONDS);
         managedLedgerConfig.setMaxEntriesPerLedger(1000);
         managedLedgerConfig.setMinimumRolloverTime(1, TimeUnit.MILLISECONDS);
         MessageId initialMessageId = persistentTopic.getLastMessageId().get();
@@ -150,15 +156,15 @@ public class ConsumedLedgersTrimTest extends BrokerTestBase {
         assertEquals(messageIdAfterRestart, messageIdBeforeRestart);
 
         persistentTopic = (PersistentTopic) pulsar.getBrokerService().getOrCreateTopic(topicName).get();
+        managedLedger = (ManagedLedgerImpl) persistentTopic.getManagedLedger();
+        // now we have two ledgers, the first is expired but is contains the lastMessageId
+        // the second is empty and should be kept as it is the current tail
+        Assert.assertEquals(managedLedger.getLedgersInfoAsList().size(), 2);
         managedLedgerConfig = persistentTopic.getManagedLedger().getConfig();
         managedLedgerConfig.setRetentionSizeInMB(-1);
         managedLedgerConfig.setRetentionTime(1, TimeUnit.SECONDS);
         managedLedgerConfig.setMaxEntriesPerLedger(1);
         managedLedgerConfig.setMinimumRolloverTime(1, TimeUnit.MILLISECONDS);
-        managedLedger = (ManagedLedgerImpl) persistentTopic.getManagedLedger();
-        // now we have two ledgers, the first is expired but is contains the lastMessageId
-        // the second is empty and should be kept as it is the current tail
-        Assert.assertEquals(managedLedger.getLedgersInfoAsList().size(), 2);
 
         // force trimConsumedLedgers
         Thread.sleep(3000);