diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-02-19 13:00:27 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-02-19 13:00:27 +0100 |
commit | b1f6d69b055b588c926f44103323bbbc205624c3 (patch) | |
tree | 81414f7d7877a034aab2ef008c2c67ba8a666997 /zookeeper-server | |
parent | 896879291572a2de2d421acf552bbf272f8bc44a (diff) |
Fix tests
Diffstat (limited to 'zookeeper-server')
-rw-r--r-- | zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java | 42 |
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() { |