summaryrefslogtreecommitdiffstats
path: root/zookeeper-server
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-02-19 13:00:27 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-02-19 13:00:27 +0100
commitb1f6d69b055b588c926f44103323bbbc205624c3 (patch)
tree81414f7d7877a034aab2ef008c2c67ba8a666997 /zookeeper-server
parent896879291572a2de2d421acf552bbf272f8bc44a (diff)
Fix tests
Diffstat (limited to 'zookeeper-server')
-rw-r--r--zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java42
1 files changed, 24 insertions, 18 deletions
diff --git a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java
index a2a3fc0a39f..94ccbc26f03 100644
--- a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java
+++ b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java
@@ -14,6 +14,8 @@ import java.io.IOException;
import java.nio.file.Path;
import java.time.Duration;
import java.util.Arrays;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import static org.junit.Assert.assertEquals;
@@ -83,22 +85,18 @@ public class ReconfigurerTest {
@Test
public void testReconfigureFailsWithReconfigInProgressThenSucceeds() {
- TestableReconfigurer reconfigurer = new TestableReconfigurer(new TestableVespaZooKeeperAdmin().failures(3));
- try {
- ZookeeperServerConfig initialConfig = createConfig(3, true);
- reconfigurer.startOrReconfigure(initialConfig);
- assertSame(initialConfig, reconfigurer.activeConfig());
-
- ZookeeperServerConfig nextConfig = createConfig(5, true);
- reconfigurer.startOrReconfigure(nextConfig);
- assertEquals("node1:2181", reconfigurer.connectionSpec());
- assertEquals("3=node3:2182:2183;2181,4=node4:2182:2183;2181", reconfigurer.joiningServers());
- assertNull("No servers are leaving", reconfigurer.leavingServers());
- assertEquals(1, reconfigurer.reconfigurations());
- assertSame(nextConfig, reconfigurer.activeConfig());
- } finally {
- reconfigurer.shutdown();
- }
+ reconfigurer = new TestableReconfigurer(new TestableVespaZooKeeperAdmin().failures(3));
+ ZookeeperServerConfig initialConfig = createConfig(3, true);
+ reconfigurer.startOrReconfigure(initialConfig);
+ assertSame(initialConfig, reconfigurer.activeConfig());
+
+ ZookeeperServerConfig nextConfig = createConfig(5, true);
+ reconfigurer.startOrReconfigure(nextConfig);
+ assertEquals("node1:2181", reconfigurer.connectionSpec());
+ assertEquals("3=node3:2182:2183;2181,4=node4:2182:2183;2181", reconfigurer.joiningServers());
+ assertNull("No servers are leaving", reconfigurer.leavingServers());
+ assertEquals(1, reconfigurer.reconfigurations());
+ assertSame(nextConfig, reconfigurer.activeConfig());
}
@Test
@@ -149,6 +147,7 @@ public class ReconfigurerTest {
private final TestableVespaZooKeeperAdmin zooKeeperAdmin;
private QuorumPeer serverPeer;
+ private final CountDownLatch latch = new CountDownLatch(1);
TestableReconfigurer(TestableVespaZooKeeperAdmin zooKeeperAdmin) {
super(zooKeeperAdmin, new Sleeper() {
@@ -182,10 +181,17 @@ public class ReconfigurerTest {
}
@Override
- public void shutdown() { serverPeer.shutdown(Duration.ofSeconds(1)); }
+ public void shutdown() {
+ try {
+ latch.await(1, TimeUnit.SECONDS);
+ }
+ catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ serverPeer.shutdown(Duration.ofSeconds(1)); }
@Override
- public void start(Path configFilePath) { serverPeer.start(configFilePath); }
+ public void start(Path configFilePath) { serverPeer.start(configFilePath); latch.countDown(); }
@Override
public boolean reconfigurable() {