summaryrefslogtreecommitdiffstats
path: root/zookeeper-server
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-12-14 11:48:08 +0100
committerGitHub <noreply@github.com>2022-12-14 11:48:08 +0100
commit97f52ec1e72f816c380d0bde609cc0f0789eec48 (patch)
tree90f4ca1d064d21b600322515ad3c8b3272dd9558 /zookeeper-server
parent9369342af1c29efd43825751f870cb9d789e99c3 (diff)
Revert "Turn off dynamic reconfiguration for non-hosted config server [run-systemtest]"
Diffstat (limited to 'zookeeper-server')
-rw-r--r--zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java2
-rw-r--r--zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ConfiguratorTest.java62
-rw-r--r--zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ReconfigurableVespaZooKeeperServer.java6
-rw-r--r--zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java2
4 files changed, 30 insertions, 42 deletions
diff --git a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java
index af42e30422b..0ad4a4b8294 100644
--- a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java
+++ b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java
@@ -98,7 +98,7 @@ public class Configurator {
sb.append("serverCnxnFactory=org.apache.zookeeper.server.VespaNettyServerCnxnFactory").append("\n");
sb.append("quorumListenOnAllIPs=true").append("\n");
sb.append("standaloneEnabled=false").append("\n");
- sb.append("reconfigEnabled=").append(config.dynamicReconfiguration()).append("\n");
+ sb.append("reconfigEnabled=true").append("\n");
sb.append("skipACL=yes").append("\n");
ensureThisServerIsRepresented(config.myid(), config.server());
config.server().forEach(server -> sb.append(serverSpec(server, server.joining())).append("\n"));
diff --git a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ConfiguratorTest.java b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ConfiguratorTest.java
index 5d0031d5b55..6dcdc76a593 100644
--- a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ConfiguratorTest.java
+++ b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ConfiguratorTest.java
@@ -54,21 +54,26 @@ public class ConfiguratorTest {
}
@Test
- public void config_is_written_correctly_with_one_server() {
+ public void config_is_written_correctly_when_one_server() {
ZookeeperServerConfig.Builder builder = createConfigBuilderForSingleHost(cfgFile, idFile);
new Configurator(builder.build()).writeConfigToDisk(VespaTlsConfig.tlsDisabled());
- validateConfigFileSingleHost(cfgFile, false);
+ validateConfigFileSingleHost(cfgFile);
validateIdFile(idFile, "0\n");
}
@Test
- public void config_is_written_correctly_with_multiple_servers() {
- three_config_servers(false);
- }
-
- @Test
- public void config_is_written_correctly_with_multiple_servers_on_hosted_vespa() {
- three_config_servers(true);
+ public void config_is_written_correctly_when_multiple_servers() {
+ ZookeeperServerConfig.Builder builder = new ZookeeperServerConfig.Builder();
+ builder.zooKeeperConfigFile(cfgFile.getAbsolutePath());
+ builder.server(newServer(0, "foo", 123, 321, false));
+ builder.server(newServer(1, "bar", 234, 432, false));
+ builder.server(newServer(2, "baz", 345, 543, true));
+ builder.myidFile(idFile.getAbsolutePath());
+ builder.myid(1);
+ builder.tickTime(1234);
+ new Configurator(builder.build()).writeConfigToDisk(VespaTlsConfig.tlsDisabled());
+ validateConfigFileMultipleHosts(cfgFile);
+ validateIdFile(idFile, "1\n");
}
@Test
@@ -76,7 +81,7 @@ public class ConfiguratorTest {
ZookeeperServerConfig.Builder builder = createConfigBuilderForSingleHost(cfgFile, idFile);
TlsContext tlsContext = createTlsContext();
new Configurator(builder.build()).writeConfigToDisk(new VespaTlsConfig(tlsContext, MixedMode.TLS_CLIENT_MIXED_SERVER));
- validateConfigFileTlsWithMixedMode(cfgFile, false);
+ validateConfigFileTlsWithMixedMode(cfgFile);
}
@Test
@@ -84,7 +89,7 @@ public class ConfiguratorTest {
ZookeeperServerConfig.Builder builder = createConfigBuilderForSingleHost(cfgFile, idFile);
TlsContext tlsContext = createTlsContext();
new Configurator(builder.build()).writeConfigToDisk(new VespaTlsConfig(tlsContext, MixedMode.DISABLED));
- validateConfigFileTlsWithoutMixedMode(cfgFile, false);
+ validateConfigFileTlsWithoutMixedMode(cfgFile);
}
@Test(expected = RuntimeException.class)
@@ -117,21 +122,6 @@ public class ConfiguratorTest {
assertEquals("" + max_buffer, System.getProperty(ZOOKEEPER_JUTE_MAX_BUFFER));
}
- private void three_config_servers(boolean hosted) {
- ZookeeperServerConfig.Builder builder = new ZookeeperServerConfig.Builder();
- builder.zooKeeperConfigFile(cfgFile.getAbsolutePath());
- builder.server(newServer(0, "foo", 123, 321, false));
- builder.server(newServer(1, "bar", 234, 432, false));
- builder.server(newServer(2, "baz", 345, 543, true));
- builder.myidFile(idFile.getAbsolutePath());
- builder.myid(1);
- builder.tickTime(1234);
- builder.dynamicReconfiguration(hosted);
- new Configurator(builder.build()).writeConfigToDisk(VespaTlsConfig.tlsDisabled());
- validateConfigFileMultipleHosts(cfgFile, hosted);
- validateIdFile(idFile, "1\n");
- }
-
private ZookeeperServerConfig.Builder createConfigBuilderForSingleHost(File cfgFile, File idFile) {
ZookeeperServerConfig.Builder builder = new ZookeeperServerConfig.Builder();
builder.zooKeeperConfigFile(cfgFile.getAbsolutePath());
@@ -157,7 +147,7 @@ public class ConfiguratorTest {
assertEquals(expected, actual);
}
- private String commonConfig(boolean hosted) {
+ private String commonConfig() {
return "tickTime=1234\n" +
"initLimit=20\n" +
"syncLimit=15\n" +
@@ -171,13 +161,13 @@ public class ConfiguratorTest {
"serverCnxnFactory=org.apache.zookeeper.server.VespaNettyServerCnxnFactory\n" +
"quorumListenOnAllIPs=true\n" +
"standaloneEnabled=false\n" +
- "reconfigEnabled=" + hosted + "\n" +
+ "reconfigEnabled=true\n" +
"skipACL=yes\n";
}
- private void validateConfigFileSingleHost(File cfgFile, boolean hosted) {
+ private void validateConfigFileSingleHost(File cfgFile) {
String expected =
- commonConfig(hosted) +
+ commonConfig() +
"server.0=foo:321:123;2181\n" +
"sslQuorum=false\n" +
"portUnification=false\n" +
@@ -201,9 +191,9 @@ public class ConfiguratorTest {
"ssl.clientAuth=NEED\n";
}
- private void validateConfigFileMultipleHosts(File cfgFile, boolean hosted) {
+ private void validateConfigFileMultipleHosts(File cfgFile) {
String expected =
- commonConfig(hosted) +
+ commonConfig() +
"server.0=foo:321:123;2181\n" +
"server.1=bar:432:234;2181\n" +
"server.2=baz:543:345:observer;2181\n" +
@@ -214,9 +204,9 @@ public class ConfiguratorTest {
}
- private void validateConfigFileTlsWithMixedMode(File cfgFile, boolean hosted) {
+ private void validateConfigFileTlsWithMixedMode(File cfgFile) {
String expected =
- commonConfig(hosted) +
+ commonConfig() +
"server.0=foo:321:123;2181\n" +
"sslQuorum=true\n" +
"portUnification=true\n" +
@@ -226,9 +216,9 @@ public class ConfiguratorTest {
validateConfigFile(cfgFile, expected);
}
- private void validateConfigFileTlsWithoutMixedMode(File cfgFile, boolean hosted) {
+ private void validateConfigFileTlsWithoutMixedMode(File cfgFile) {
String expected =
- commonConfig(hosted) +
+ commonConfig() +
"server.0=foo:321:123;2181\n" +
"sslQuorum=true\n" +
"portUnification=false\n" +
diff --git a/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ReconfigurableVespaZooKeeperServer.java b/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ReconfigurableVespaZooKeeperServer.java
index a4c34416b4a..e94110af2fb 100644
--- a/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ReconfigurableVespaZooKeeperServer.java
+++ b/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ReconfigurableVespaZooKeeperServer.java
@@ -1,12 +1,13 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.zookeeper;
-import ai.vespa.validation.Validation;
+import com.yahoo.component.annotation.Inject;
import com.yahoo.cloud.config.ZookeeperServerConfig;
import com.yahoo.component.AbstractComponent;
-import com.yahoo.component.annotation.Inject;
+
import java.nio.file.Path;
import java.time.Duration;
+import java.util.concurrent.atomic.AtomicReference;
/**
* Starts or reconfigures zookeeper cluster.
@@ -21,7 +22,6 @@ public class ReconfigurableVespaZooKeeperServer extends AbstractComponent implem
@Inject
public ReconfigurableVespaZooKeeperServer(Reconfigurer reconfigurer, ZookeeperServerConfig zookeeperServerConfig) {
- Validation.require(true, zookeeperServerConfig.dynamicReconfiguration(), "dynamicReconfiguration must be true");
peer = reconfigurer.startOrReconfigure(zookeeperServerConfig, this, () -> peer = new VespaQuorumPeer());
}
diff --git a/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java b/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java
index 104af272bd3..48f95d28910 100644
--- a/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java
+++ b/zookeeper-server/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.zookeeper;
-import ai.vespa.validation.Validation;
import com.yahoo.component.annotation.Inject;
import com.yahoo.cloud.config.ZookeeperServerConfig;
import com.yahoo.component.AbstractComponent;
@@ -20,7 +19,6 @@ public class VespaZooKeeperServerImpl extends AbstractComponent implements Vespa
@Inject
public VespaZooKeeperServerImpl(ZookeeperServerConfig zookeeperServerConfig) {
- Validation.require(false, zookeeperServerConfig.dynamicReconfiguration(), "dynamicReconfiguration must be false");
this.peer = new VespaQuorumPeer();
this.runner = new ZooKeeperRunner(zookeeperServerConfig, this);
}