summaryrefslogtreecommitdiffstats
path: root/zookeeper-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-12-07 13:46:03 +0100
committerMartin Polden <mpolden@mpolden.no>2020-12-07 14:21:44 +0100
commita3dedf0219daab34ac097f1a04c6e6ce578f6405 (patch)
treece3151b05f38a912894e01a422fca87b253ecc5f /zookeeper-server
parent72a1848f3d752aa16495fe39a3ebd58463b9b277 (diff)
Connect to localhost when reconfiguring
Diffstat (limited to 'zookeeper-server')
-rw-r--r--zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java9
-rw-r--r--zookeeper-server/zookeeper-server-3.5.6/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java11
2 files changed, 12 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 fe8a8d067f8..9dc071ff4d9 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 org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
@@ -108,7 +109,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++) {
@@ -144,10 +145,8 @@ public class Reconfigurer extends AbstractComponent {
e instanceof KeeperException.NewConfigNoQuorum;
}
- 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 bf1f9ca5611..ee30a17f0cc 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.apache.zookeeper.KeeperException;
import org.junit.After;
import org.junit.Before;
@@ -47,7 +48,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);
@@ -62,7 +63,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());
@@ -77,7 +78,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);
@@ -126,6 +127,10 @@ public class ReconfigurerTest {
private String joiningServers;
private String leavingServers;
+ public TestableReconfigurer() {
+ HostName.setHostNameForTestingOnly("node1");
+ }
+
@Override
void startOrReconfigure(ZookeeperServerConfig newConfig) {
super.startOrReconfigure(newConfig, l->{});