From aa6bc0929bf28f5e8498ddb2055057b078d46481 Mon Sep 17 00:00:00 2001 From: Jiawen Wang <74594733+summeriiii@users.noreply.github.com> Date: Sun, 13 Oct 2024 22:56:55 +0800 Subject: [PATCH] [fix][test] Fix flaky test ManagedLedgerTest.testDeleteCurrentLedgerWhenItIsClosed (#23437) --- .../apache/bookkeeper/mledger/impl/ManagedLedgerTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 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 83a6c771513a9..67c928c8a5617 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 @@ -4361,9 +4361,10 @@ public void testDeleteCurrentLedgerWhenItIsClosed(boolean closeLedgerByAddEntry) // Detect the current ledger is full by the timed task. (Imitate: the timed task `checkLedgerRollTask` call // `rollCurrentLedgerIfFull` periodically). ml.rollCurrentLedgerIfFull(); - // the ledger closing in the `rollCurrentLedgerIfFull` is async, so the wait is needed. - Awaitility.await().untilAsserted(() -> assertEquals(ml.ledgers.size(), 2)); } + // wait the new ledger create + Awaitility.await().untilAsserted(() -> assertEquals(ml.ledgers.size(), 2)); + // Act: Trigger trimming to delete the previous current ledger. ml.internalTrimLedgers(false, Futures.NULL_PROMISE); // Verify: A new ledger will be opened after the current ledger is closed and the previous current ledger can be