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

merlimat 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 f10be84a21c [fix][test] Fix flaky 
ManagedLedgerTest.testInvalidateReadHandleWhenConsumed (#25595)
f10be84a21c is described below

commit f10be84a21cfb994029455136edf74cc54d6dde8
Author: Matteo Merli <[email protected]>
AuthorDate: Tue Apr 28 09:49:40 2026 -0700

    [fix][test] Fix flaky 
ManagedLedgerTest.testInvalidateReadHandleWhenConsumed (#25595)
---
 .../java/org/apache/bookkeeper/mledger/impl/ManagedLedgerTest.java  | 6 ++++++
 1 file changed, 6 insertions(+)

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 17185f2a331..7e756f1d994 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
@@ -4023,6 +4023,12 @@ public class ManagedLedgerTest extends 
MockedBookKeeperTestCase {
             ledger.addEntry(String.valueOf(i).getBytes(Encoding));
         }
 
+        // Wait for all ledger rolls to complete before reading. With 
maxEntriesPerLedger=1 and 3 entries,
+        // we expect 4 ledgers (3 closed + 1 current empty). If we read before 
the last roll completes,
+        // the last entry is read from currentLedger directly (not via 
ledgerCache), causing ledgerCache
+        // to have fewer entries than expected.
+        Awaitility.await().untilAsserted(() -> 
assertEquals(ledger.ledgers.size(), 4));
+
         // clear the cache to avoid flakiness
         factory.getEntryCacheManager().clear();
 

Reply via email to