From b1f6d69b055b588c926f44103323bbbc205624c3 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Fri, 19 Feb 2021 13:00:27 +0100 Subject: Fix tests --- .../yahoo/vespa/zookeeper/ReconfigurerTest.java | 42 ++++++++++++---------- 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'zookeeper-server') 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() { -- cgit v1.2.3