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 <[email protected]>
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);