This is an automated email from the ASF dual-hosted git repository. mmerli 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 99bff72b7d2 [fix][test] Fix flaky test testShadowWrites (#22745) 99bff72b7d2 is described below commit 99bff72b7d22879a84c358b7657e954f0524371f Author: Zike Yang <z...@apache.org> AuthorDate: Thu May 23 11:22:58 2024 +0800 [fix][test] Fix flaky test testShadowWrites (#22745) --- .../mledger/impl/ShadowManagedLedgerImplTest.java | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ShadowManagedLedgerImplTest.java b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ShadowManagedLedgerImplTest.java index 2aa04197ab9..13dee4812b4 100644 --- a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ShadowManagedLedgerImplTest.java +++ b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ShadowManagedLedgerImplTest.java @@ -51,7 +51,7 @@ public class ShadowManagedLedgerImplTest extends MockedBookKeeperTestCase { return (ShadowManagedLedgerImpl) shadowML; } - @Test(groups = "flaky") + @Test public void testShadowWrites() throws Exception { ManagedLedgerImpl sourceML = (ManagedLedgerImpl) factory.open("source_ML", new ManagedLedgerConfig() .setMaxEntriesPerLedger(2) @@ -76,16 +76,13 @@ public class ShadowManagedLedgerImplTest extends MockedBookKeeperTestCase { //Add new data to source ML Position newPos = sourceML.addEntry(data); - // The state should not be the same. - log.info("Source.LCE={},Shadow.LCE={}", sourceML.lastConfirmedEntry, shadowML.lastConfirmedEntry); - assertNotEquals(sourceML.lastConfirmedEntry, shadowML.lastConfirmedEntry); - //Add new data to source ML, and a new ledger rolled - newPos = sourceML.addEntry(data); - assertEquals(sourceML.ledgers.size(), 4); - Awaitility.await().untilAsserted(()->assertEquals(shadowML.ledgers.size(), 4)); + Awaitility.await().untilAsserted(() -> { + assertEquals(sourceML.ledgers.size(), 4); + assertEquals(shadowML.ledgers.size(), 4); + assertEquals(sourceML.lastConfirmedEntry, shadowML.lastConfirmedEntry); + }); log.info("Source.LCE={},Shadow.LCE={}", sourceML.lastConfirmedEntry, shadowML.lastConfirmedEntry); - Awaitility.await().untilAsserted(()->assertEquals(sourceML.lastConfirmedEntry, shadowML.lastConfirmedEntry)); {// test write entry with ledgerId < currentLedger CompletableFuture<Position> future = new CompletableFuture<>(); @@ -146,10 +143,10 @@ public class ShadowManagedLedgerImplTest extends MockedBookKeeperTestCase { }, fakePos); //This write will be queued unit new ledger is rolled in source. - newPos = sourceML.addEntry(data); // new ledger rolled. - newPos = sourceML.addEntry(data); + sourceML.addEntry(data); // new ledger rolled. + sourceML.addEntry(data); Awaitility.await().untilAsserted(() -> { - assertEquals(shadowML.ledgers.size(), 6); + assertEquals(shadowML.ledgers.size(), 5); assertEquals(shadowML.currentLedgerEntries, 0); }); assertEquals(future.get(), fakePos);