You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2022/06/09 03:47:25 UTC

[pulsar] branch branch-2.10 updated (f69c30f3f34 -> efc36b31f51)

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

penghui pushed a change to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git


    from f69c30f3f34 Revert "Change ``rollCurrentLedgerIfFull`` logic to follow lazy creation of ledger (#14672)"
     new 49da7477a23 [Flaky-test] Fix metadata cache flaky test (#14373)
     new efc36b31f51 [refactor][test] Move assert equals and retry to a base class (#14815)

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../pulsar/metadata/BaseMetadataStoreTest.java     | 33 ++++++++++++++++++
 .../apache/pulsar/metadata/LeaderElectionTest.java |  1 -
 .../apache/pulsar/metadata/MetadataCacheTest.java  | 40 +++-------------------
 3 files changed, 37 insertions(+), 37 deletions(-)


[pulsar] 01/02: [Flaky-test] Fix metadata cache flaky test (#14373)

Posted by pe...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

penghui pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 49da7477a236aa084dc930f07ae6ee1fd305c5e6
Author: Kai Wang <kw...@streamnative.io>
AuthorDate: Mon Feb 28 09:55:39 2022 +0800

    [Flaky-test] Fix metadata cache flaky test (#14373)
    
    (cherry picked from commit 8264414547cd5e837c0c8a625d7346c03353b43a)
---
 .../java/org/apache/pulsar/metadata/MetadataCacheTest.java     | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java
index a4ba88852b0..1c663abd327 100644
--- a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java
+++ b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java
@@ -234,7 +234,7 @@ public class MetadataCacheTest extends BaseMetadataStoreTest {
         v.put("b", "2");
         objCache.create(key1, v).join();
 
-        assertEquals(objCache.getIfCached(key1), Optional.of(v));
+        assertEqualsAndRetry(() -> objCache.getIfCached(key1), Optional.of(v), Optional.empty());
         assertEquals(objCache.get(key1).join(), Optional.of(v));
 
         objCache.delete(key1).join();
@@ -265,12 +265,12 @@ public class MetadataCacheTest extends BaseMetadataStoreTest {
             assertEquals(e.getCause().getClass(), AlreadyExistsException.class);
         }
 
-        assertEquals(objCache.getIfCached(key1), Optional.of(value1));
+        assertEqualsAndRetry(() -> objCache.getIfCached(key1), Optional.of(value1), Optional.empty());
         assertEquals(objCache.get(key1).join(), Optional.of(value1));
 
         assertEquals(objCache.readModifyUpdateOrCreate(key1, __ -> value2).join(), value2);
         assertEquals(objCache.get(key1).join(), Optional.of(value2));
-        assertEquals(objCache.getIfCached(key1), Optional.of(value2));
+        assertEqualsAndRetry(() -> objCache.getIfCached(key1), Optional.of(value2), Optional.empty());
 
         objCache.delete(key1).join();
 
@@ -321,7 +321,7 @@ public class MetadataCacheTest extends BaseMetadataStoreTest {
         store.put(key1, ObjectMapperFactory.getThreadLocal().writeValueAsBytes(value1), Optional.of(-1L)).join();
 
         assertEquals(objCache.get(key1).join(), Optional.of(value1));
-        assertEquals(objCache.getIfCached(key1), Optional.of(value1));
+        assertEqualsAndRetry(() -> objCache.getIfCached(key1), Optional.of(value1), Optional.empty());
     }
 
     @Test(dataProvider = "impl")
@@ -611,7 +611,7 @@ public class MetadataCacheTest extends BaseMetadataStoreTest {
     public static boolean retryStrategically(Predicate<Void> predicate, int retryCount, long intSleepTimeInMillis)
             throws Exception {
         for (int i = 0; i < retryCount; i++) {
-            if (predicate.test(null)) {
+            if (predicate.test(null) || i == (retryCount - 1)) {
                 return true;
             }
             Thread.sleep(intSleepTimeInMillis + (intSleepTimeInMillis * i));


[pulsar] 02/02: [refactor][test] Move assert equals and retry to a base class (#14815)

Posted by pe...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

penghui pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit efc36b31f510548f0c93e1201c9ffe5e24464280
Author: Kai Wang <kw...@streamnative.io>
AuthorDate: Thu Mar 24 23:09:20 2022 +0800

    [refactor][test] Move assert equals and retry to a base class (#14815)
    
    (cherry picked from commit d0d9aa583b1ed1fc4387443d0d4d81c616ad77ff)
---
 .../pulsar/metadata/BaseMetadataStoreTest.java     | 33 ++++++++++++++++++++++
 .../apache/pulsar/metadata/LeaderElectionTest.java |  1 -
 .../apache/pulsar/metadata/MetadataCacheTest.java  | 32 ---------------------
 3 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/BaseMetadataStoreTest.java b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/BaseMetadataStoreTest.java
index 8dd2c017650..4dc3fb3589c 100644
--- a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/BaseMetadataStoreTest.java
+++ b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/BaseMetadataStoreTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.pulsar.metadata;
 
+import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertTrue;
 import io.etcd.jetcd.launcher.EtcdCluster;
 import io.etcd.jetcd.launcher.EtcdClusterFactory;
@@ -25,6 +26,7 @@ import java.io.File;
 import java.net.URI;
 import java.util.UUID;
 import java.util.concurrent.CompletionException;
+import java.util.function.Predicate;
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 import org.apache.pulsar.tests.TestRetrySupport;
@@ -103,4 +105,35 @@ public abstract class BaseMetadataStoreTest extends TestRetrySupport {
     static void assertException(Throwable t, Class<?> clazz) {
         assertTrue(clazz.isInstance(t), String.format("Exception %s is not of type %s", t.getClass(), clazz));
     }
+
+    public static void assertEqualsAndRetry(Supplier<Object> actual,
+                                            Object expected,
+                                            Object expectedAndRetry) throws Exception {
+        assertEqualsAndRetry(actual, expected, expectedAndRetry, 5, 100);
+    }
+
+    public static void assertEqualsAndRetry(Supplier<Object> actual,
+                                            Object expected,
+                                            Object expectedAndRetry,
+                                            int retryCount,
+                                            long intSleepTimeInMillis) throws Exception {
+        assertTrue(retryStrategically((__) -> {
+            if (actual.get().equals(expectedAndRetry)) {
+                return false;
+            }
+            assertEquals(actual.get(), expected);
+            return true;
+        }, retryCount, intSleepTimeInMillis));
+    }
+
+    public static boolean retryStrategically(Predicate<Void> predicate, int retryCount, long intSleepTimeInMillis)
+            throws Exception {
+        for (int i = 0; i < retryCount; i++) {
+            if (predicate.test(null)) {
+                return true;
+            }
+            Thread.sleep(intSleepTimeInMillis + (intSleepTimeInMillis * i));
+        }
+        return false;
+    }
 }
diff --git a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/LeaderElectionTest.java b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/LeaderElectionTest.java
index f1292811424..97587b1520e 100644
--- a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/LeaderElectionTest.java
+++ b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/LeaderElectionTest.java
@@ -18,7 +18,6 @@
  */
 package org.apache.pulsar.metadata;
 
-import static org.apache.pulsar.metadata.MetadataCacheTest.assertEqualsAndRetry;
 import static org.testng.Assert.assertEquals;
 import java.util.EnumSet;
 import java.util.Optional;
diff --git a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java
index 1c663abd327..be6a03d0eac 100644
--- a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java
+++ b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java
@@ -36,7 +36,6 @@ import java.util.TreeMap;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CompletionException;
 import java.util.concurrent.atomic.AtomicReference;
-import java.util.function.Predicate;
 import java.util.function.Supplier;
 import lombok.AllArgsConstructor;
 import lombok.Cleanup;
@@ -587,35 +586,4 @@ public class MetadataCacheTest extends BaseMetadataStoreTest {
         assertEquals(res.getValue().b, 2);
         assertEquals(res.getValue().path, key1);
     }
-
-    public static void assertEqualsAndRetry(Supplier<Object> actual,
-                                            Object expected,
-                                            Object expectedAndRetry) throws Exception {
-        assertEqualsAndRetry(actual, expected, expectedAndRetry, 5, 100);
-    }
-
-    public static void assertEqualsAndRetry(Supplier<Object> actual,
-                                            Object expected,
-                                            Object expectedAndRetry,
-                                            int retryCount,
-                                            long intSleepTimeInMillis) throws Exception {
-        assertTrue(retryStrategically((__) -> {
-            if (actual.get().equals(expectedAndRetry)) {
-                return false;
-            }
-            assertEquals(actual.get(), expected);
-            return true;
-        }, retryCount, intSleepTimeInMillis));
-    }
-
-    public static boolean retryStrategically(Predicate<Void> predicate, int retryCount, long intSleepTimeInMillis)
-            throws Exception {
-        for (int i = 0; i < retryCount; i++) {
-            if (predicate.test(null) || i == (retryCount - 1)) {
-                return true;
-            }
-            Thread.sleep(intSleepTimeInMillis + (intSleepTimeInMillis * i));
-        }
-        return false;
-    }
 }