You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by eo...@apache.org on 2021/06/22 09:59:00 UTC
[pulsar] branch branch-2.8 updated: Fix the flaky test in the
ManagedLedgerTest (#11016)
This is an automated email from the ASF dual-hosted git repository.
eolivelli pushed a commit to branch branch-2.8
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.8 by this push:
new a9b49ef Fix the flaky test in the ManagedLedgerTest (#11016)
a9b49ef is described below
commit a9b49efa96965a6b6b84a886460be76d98cc025f
Author: lipenghui <pe...@apache.org>
AuthorDate: Tue Jun 22 17:55:34 2021 +0800
Fix the flaky test in the ManagedLedgerTest (#11016)
fixes testExpiredLedgerDeletionAfterManagedLedgerRestart
(cherry picked from commit 1623790669c35916aa5673c4a7527ef512379442)
---
.../bookkeeper/mledger/impl/ManagedLedgerTest.java | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerTest.java b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerTest.java
index 97a7d5f..e0b15fe 100644
--- a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerTest.java
+++ b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerTest.java
@@ -108,6 +108,7 @@ import org.apache.pulsar.common.api.proto.CommandSubscribe.InitialPosition;
import org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfig;
import org.apache.pulsar.metadata.api.MetadataStoreException;
import org.apache.pulsar.metadata.api.Stat;
+import org.awaitility.Awaitility;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
@@ -2940,11 +2941,6 @@ public class ManagedLedgerTest extends MockedBookKeeperTestCase {
Assert.assertEquals(managedLedger.getLedgersInfoAsList().size(), 2);
List<Entry> entries = cursor.readEntries(3);
- for (Entry entry : entries) {
- cursor.markDelete(entry.getPosition());
- }
- entries.forEach(e -> e.release());
-
// managed-ledger restart
managedLedger.close();
managedLedger = (ManagedLedgerImpl) factory.open("ml_restart_ledger", config);
@@ -2953,14 +2949,20 @@ public class ManagedLedgerTest extends MockedBookKeeperTestCase {
// and now ledgers are [{entries=2}, {entries=1}, {entries=0}]
Assert.assertTrue(managedLedger.getLedgersInfoAsList().size() >= 2);
+ cursor = managedLedger.openCursor("c1");
+ for (Entry entry : entries) {
+ cursor.markDelete(entry.getPosition());
+ }
+ entries.forEach(Entry::release);
// Now we update the cursors that are still subscribing to ledgers that has been consumed completely
managedLedger.maybeUpdateCursorBeforeTrimmingConsumedLedger();
managedLedger.internalTrimConsumedLedgers(Futures.NULL_PROMISE);
- Thread.sleep(100);
-
- // We only have one empty ledger at last [{entries=0}]
- Assert.assertEquals(managedLedger.getLedgersInfoAsList().size(), 1);
- Assert.assertEquals(managedLedger.getTotalSize(), 0);
+ ManagedLedgerImpl finalManagedLedger = managedLedger;
+ Awaitility.await().untilAsserted(() -> {
+ // We only have one empty ledger at last [{entries=0}]
+ Assert.assertEquals(finalManagedLedger.getLedgersInfoAsList().size(), 1);
+ Assert.assertEquals(finalManagedLedger.getTotalSize(), 0);
+ });
}
@Test(timeOut = 20000)