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/03/25 05:48:58 UTC
[pulsar] 08/14: Fix flaky test LeaderElectionTest (#14776)
This is an automated email from the ASF dual-hosted git repository.
penghui pushed a commit to branch branch-2.9
in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 36bbc18956afe76c025ea626466599f5377106ce
Author: gaozhangmin <ga...@gmail.com>
AuthorDate: Tue Mar 22 12:09:00 2022 +0800
Fix flaky test LeaderElectionTest (#14776)
(cherry picked from commit 46886b03d0be904ac635d4ea8fa6d74f82b896e5)
---
.../java/org/apache/pulsar/metadata/LeaderElectionTest.java | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
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 8412c71..c8a6fed 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,6 +18,7 @@
*/
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;
@@ -111,21 +112,21 @@ public class LeaderElectionTest extends BaseMetadataStoreTest {
LeaderElectionState les1 = le1.elect("test-1").join();
assertEquals(les1, LeaderElectionState.Leading);
- assertEquals(le1.getLeaderValueIfPresent(), Optional.of("test-1"));
+ assertEqualsAndRetry(() -> le1.getLeaderValueIfPresent(), Optional.of("test-1"), Optional.empty());
assertEquals(le1.getLeaderValue().join(), Optional.of("test-1"));
assertEquals(n1.poll(3, TimeUnit.SECONDS), LeaderElectionState.Leading);
LeaderElectionState les2 = le2.elect("test-2").join();
assertEquals(les2, LeaderElectionState.Following);
assertEquals(le2.getLeaderValue().join(), Optional.of("test-1"));
- assertEquals(le2.getLeaderValueIfPresent(), Optional.of("test-1"));
+ assertEqualsAndRetry(() -> le2.getLeaderValueIfPresent(), Optional.of("test-1"), Optional.empty());
assertEquals(n2.poll(3, TimeUnit.SECONDS), LeaderElectionState.Following);
le1.close();
assertEquals(n2.poll(3, TimeUnit.SECONDS), LeaderElectionState.Leading);
assertEquals(le2.getState(), LeaderElectionState.Leading);
- assertEquals(le2.getLeaderValueIfPresent(), Optional.of("test-2"));
+ assertEqualsAndRetry(() -> le2.getLeaderValueIfPresent(), Optional.of("test-2"), Optional.empty());
assertEquals(le2.getLeaderValue().join(), Optional.of("test-2"));
}
@@ -209,7 +210,7 @@ public class LeaderElectionTest extends BaseMetadataStoreTest {
LeaderElectionState les = le.elect("test-2").join();
assertEquals(les, LeaderElectionState.Leading);
assertEquals(le.getLeaderValue().join(), Optional.of("test-2"));
- assertEquals(le.getLeaderValueIfPresent(), Optional.of("test-2"));
+ assertEqualsAndRetry(() -> le.getLeaderValueIfPresent(), Optional.of("test-2"), Optional.empty());
}
@Test(dataProvider = "impl")
@@ -239,7 +240,7 @@ public class LeaderElectionTest extends BaseMetadataStoreTest {
LeaderElectionState les = le.elect("test-1").join();
assertEquals(les, LeaderElectionState.Leading);
assertEquals(le.getLeaderValue().join(), Optional.of("test-1"));
- assertEquals(le.getLeaderValueIfPresent(), Optional.of("test-1"));
+ assertEqualsAndRetry(() -> le.getLeaderValueIfPresent(), Optional.of("test-1"), Optional.empty());
}
@@ -275,6 +276,6 @@ public class LeaderElectionTest extends BaseMetadataStoreTest {
LeaderElectionState les = le.elect("test-2").join();
assertEquals(les, LeaderElectionState.Following);
assertEquals(le.getLeaderValue().join(), Optional.of("test-1"));
- assertEquals(le.getLeaderValueIfPresent(), Optional.of("test-1"));
+ assertEqualsAndRetry(() -> le.getLeaderValueIfPresent(), Optional.of("test-1"), Optional.empty());
}
}