This is an automated email from the ASF dual-hosted git repository. lhotari pushed a commit to branch branch-4.1 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit c12dcf6feef6f0d7eed23d5727d14eda2535cd1d Author: Matteo Merli <[email protected]> AuthorDate: Wed Mar 11 01:42:48 2026 -0700 [fix] Fix flaky testEstimatedTimeBasedBacklogQuotaCheckWhenNoBacklog (#25307) (cherry picked from commit 6c357f6c909ba56382669e5619d91abd5dc17816) --- .../service/persistent/PersistentTopicProtectedMethodsTest.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/PersistentTopicProtectedMethodsTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/PersistentTopicProtectedMethodsTest.java index bba0d2050d8..e51da48042e 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/PersistentTopicProtectedMethodsTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/PersistentTopicProtectedMethodsTest.java @@ -92,7 +92,9 @@ public class PersistentTopicProtectedMethodsTest extends ProducerConsumerBase { admin.topics().skipAllMessages(tp, "s1"); Awaitility.await().untilAsserted(() -> { assertEquals(cursor.getNumberOfEntriesInBacklog(true), 0); - assertEquals(cursor.getMarkDeletedPosition(), ml.getLastConfirmedEntry()); + // Use >= comparison: after skipAll, a ledger rollover may create a new empty ledger, + // moving the cursor's mark-delete position past the LAC (e.g., 10:-1 vs 9:1). + assertTrue(cursor.getMarkDeletedPosition().compareTo(ml.getLastConfirmedEntry()) >= 0); }); CompletableFuture completableFuture = new CompletableFuture(); ml.trimConsumedLedgersInBackground(completableFuture); @@ -100,7 +102,7 @@ public class PersistentTopicProtectedMethodsTest extends ProducerConsumerBase { Awaitility.await().untilAsserted(() -> { assertEquals(ml.getLedgersInfo().size(), 1); assertEquals(cursor.getNumberOfEntriesInBacklog(true), 0); - assertEquals(cursor.getMarkDeletedPosition(), ml.getLastConfirmedEntry()); + assertTrue(cursor.getMarkDeletedPosition().compareTo(ml.getLastConfirmedEntry()) >= 0); }); // Verify: "persistentTopic.estimatedTimeBasedBacklogQuotaCheck" will not get a NullPointerException.
