diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-12-07 14:40:47 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-12-07 14:40:47 +0100 |
commit | 9e82c2c81e161a1cd449456d5f8ba797762ecdcd (patch) | |
tree | a711c2ef7dbea38c7acdb1db11be00c3bc4394b3 /zookeeper-server | |
parent | 7e7b7c72b7ca4131f6f29efa0f9d63f857d9f369 (diff) | |
parent | 7e8c5010e490417a7d9fb93f524acf75cf7f4c6e (diff) |
Merge branch 'master' into hmusum/refactor-reconfigurer
Diffstat (limited to 'zookeeper-server')
2 files changed, 9 insertions, 8 deletions
diff --git a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java b/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java index 90de4a9472e..6a87d8547c1 100644 --- a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java +++ b/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.zookeeper; import com.google.inject.Inject; import com.yahoo.cloud.config.ZookeeperServerConfig; import com.yahoo.component.AbstractComponent; +import com.yahoo.net.HostName; import com.yahoo.yolean.Exceptions; import java.time.Duration; @@ -88,7 +89,7 @@ public class Reconfigurer extends AbstractComponent { log.log(Level.INFO, "Will reconfigure ZooKeeper cluster in " + reconfigWaitPeriod() + ". Joining servers: " + joiningServers + ", leaving servers: " + leavingServers); sleeper.accept(reconfigWaitPeriod()); - String connectionSpec = connectionSpec(activeConfig); + String connectionSpec = localConnectionSpec(activeConfig); Instant end = Instant.now().plus(reconfigTimeout); // Loop reconfiguring since we might need to wait until another reconfiguration is finished before we can succeed for (int attempts = 1; Instant.now().isBefore(end); attempts++) { @@ -116,10 +117,8 @@ public class Reconfigurer extends AbstractComponent { return reconfigInterval.multipliedBy(activeConfig.myid()); } - private static String connectionSpec(ZookeeperServerConfig config) { - return config.server().stream() - .map(server -> server.hostname() + ":" + config.clientPort()) - .collect(Collectors.joining(",")); + private static String localConnectionSpec(ZookeeperServerConfig config) { + return HostName.getLocalhost() + ":" + config.clientPort(); } private static List<String> serverIds(ZookeeperServerConfig config) { diff --git a/zookeeper-server/zookeeper-server-3.5.6/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java b/zookeeper-server/zookeeper-server-3.5.6/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java index e8ee17192ee..662c88289d8 100644 --- a/zookeeper-server/zookeeper-server-3.5.6/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java +++ b/zookeeper-server/zookeeper-server-3.5.6/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.zookeeper; import com.yahoo.cloud.config.ZookeeperServerConfig; +import com.yahoo.net.HostName; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -46,7 +47,7 @@ public class ReconfigurerTest { // Cluster grows ZookeeperServerConfig nextConfig = createConfig(5, true); reconfigurer.startOrReconfigure(nextConfig); - assertEquals("node0:2181,node1:2181,node2:2181", reconfigurer.connectionSpec()); + 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()); @@ -61,7 +62,7 @@ public class ReconfigurerTest { nextConfig = createConfig(3, true); reconfigurer.startOrReconfigure(nextConfig); assertEquals(2, reconfigurer.reconfigurations()); - assertEquals("node0:2181,node1:2181,node2:2181,node3:2181,node4:2181", reconfigurer.connectionSpec()); + assertEquals("node1:2181", reconfigurer.connectionSpec()); assertNull("No servers are joining", reconfigurer.joiningServers()); assertEquals("3,4", reconfigurer.leavingServers()); assertSame(nextConfig, reconfigurer.activeConfig()); @@ -76,7 +77,7 @@ public class ReconfigurerTest { ZookeeperServerConfig nextConfig = createConfig(5, true); reconfigurer.startOrReconfigure(nextConfig); - assertEquals("node0:2181,node1:2181,node2:2181", reconfigurer.connectionSpec()); + 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()); @@ -124,6 +125,7 @@ public class ReconfigurerTest { TestableReconfigurer(TestableZkAdmin zkReconfigurer) { super(zkReconfigurer); this.zkReconfigurer = zkReconfigurer; + HostName.setHostNameForTestingOnly("node1"); } @Override |