summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-10-24 13:43:54 +0200
committerHarald Musum <musum@verizonmedia.com>2019-10-24 13:43:54 +0200
commit907dfbc0842202a75be87a126698da8cece031d1 (patch)
treed43c05320df90473fc4823d71b9ef3271cd71d3d
parentd36f55c5e067ebe8e929a23f236f8498144e785f (diff)
Create VespaZooKeeperServer interface and use where appropriate
-rw-r--r--clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java1
-rw-r--r--clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StandaloneZooKeeperProvider.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java2
-rw-r--r--configserver/src/main/resources/configserver-app/services.xml2
-rw-r--r--zkfacade/abi-spec.json2
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java4
-rw-r--r--zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServer.java11
-rw-r--r--zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java (renamed from zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java)9
-rw-r--r--zookeeper-server/src/test/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImplTest.java (renamed from zookeeper-server/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java)8
9 files changed, 27 insertions, 16 deletions
diff --git a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java
index 4bc09898361..4091363128e 100644
--- a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java
+++ b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java
@@ -11,7 +11,6 @@ import com.yahoo.vespa.clustercontroller.core.RemoteClusterControllerTaskSchedul
import com.yahoo.vespa.clustercontroller.core.restapiv2.ClusterControllerStateRestAPI;
import com.yahoo.vespa.clustercontroller.core.status.StatusHandler;
import com.yahoo.vespa.curator.Curator;
-import com.yahoo.vespa.zookeeper.ZooKeeperServer;
import java.util.LinkedHashMap;
import java.util.Map;
diff --git a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StandaloneZooKeeperProvider.java b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StandaloneZooKeeperProvider.java
index cbb1eb41eac..baad012a234 100644
--- a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StandaloneZooKeeperProvider.java
+++ b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StandaloneZooKeeperProvider.java
@@ -1,7 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.clustercontroller.apps.clustercontroller;
-import com.yahoo.vespa.zookeeper.ZooKeeperServer;
+import com.yahoo.vespa.zookeeper.VespaZooKeeperServer;
/**
* ZooKeeper provider that ensures we are running our own instance of zookeeper.
@@ -10,7 +10,7 @@ import com.yahoo.vespa.zookeeper.ZooKeeperServer;
*/
public class StandaloneZooKeeperProvider implements ZooKeeperProvider {
- public StandaloneZooKeeperProvider(ZooKeeperServer server) {
+ public StandaloneZooKeeperProvider(VespaZooKeeperServer server) {
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
index e45bf3f0921..547c05d2c9b 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
@@ -43,7 +43,7 @@ public class ClusterControllerContainer extends Container implements
"cluster/v2/*");
if (runStandaloneZooKeeper) {
addComponent("clustercontroller-zkrunner",
- "com.yahoo.vespa.zookeeper.ZooKeeperServer",
+ "com.yahoo.vespa.zookeeper.VespaZooKeeperServerImpl",
ZOOKEEPER_SERVER_BUNDLE);
addComponent("clustercontroller-zkprovider",
"com.yahoo.vespa.clustercontroller.apps.clustercontroller.StandaloneZooKeeperProvider",
diff --git a/configserver/src/main/resources/configserver-app/services.xml b/configserver/src/main/resources/configserver-app/services.xml
index 25e6a727841..22697c29fe4 100644
--- a/configserver/src/main/resources/configserver-app/services.xml
+++ b/configserver/src/main/resources/configserver-app/services.xml
@@ -11,7 +11,7 @@
<component id="com.yahoo.vespa.config.server.ConfigServerBootstrap" bundle="configserver" />
<component id="com.yahoo.vespa.config.server.monitoring.Metrics" bundle="configserver" />
- <component id="com.yahoo.vespa.zookeeper.ZooKeeperServer" bundle="zookeeper-server" />
+ <component id="com.yahoo.vespa.zookeeper.VespaZooKeeperServerImpl" bundle="zookeeper-server" />
<component id="com.yahoo.vespa.config.server.rpc.RpcServer" bundle="configserver" />
<component id="com.yahoo.vespa.config.server.ConfigServerDB" bundle="configserver" />
<component id="com.yahoo.vespa.config.server.session.FileDistributionFactory" bundle="configserver" />
diff --git a/zkfacade/abi-spec.json b/zkfacade/abi-spec.json
index 27027287d39..9cc49d20262 100644
--- a/zkfacade/abi-spec.json
+++ b/zkfacade/abi-spec.json
@@ -68,7 +68,7 @@
"methods": [
"public static com.yahoo.vespa.curator.Curator create(java.lang.String)",
"public void <init>(com.yahoo.cloud.config.ConfigserverConfig)",
- "public void <init>(com.yahoo.cloud.config.ConfigserverConfig, com.yahoo.vespa.zookeeper.ZooKeeperServer)",
+ "public void <init>(com.yahoo.cloud.config.ConfigserverConfig, com.yahoo.vespa.zookeeper.VespaZooKeeperServer)",
"protected void <init>(java.lang.String, java.lang.String, java.util.function.Function)",
"public java.lang.String connectionSpec()",
"public org.apache.curator.framework.recipes.atomic.DistributedAtomicLong createAtomicCounter(java.lang.String)",
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
index dc51c82b5e6..c8aea1f3d21 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
@@ -6,7 +6,7 @@ import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.net.HostName;
import com.yahoo.path.Path;
import com.yahoo.vespa.curator.recipes.CuratorCounter;
-import com.yahoo.vespa.zookeeper.ZooKeeperServer;
+import com.yahoo.vespa.zookeeper.VespaZooKeeperServer;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
@@ -72,7 +72,7 @@ public class Curator implements AutoCloseable {
// Depend on ZooKeeperServer to make sure it is started first
// TODO: Move zookeeperserver config out of configserverconfig (requires update of controller services.xml as well)
@Inject
- public Curator(ConfigserverConfig configserverConfig, ZooKeeperServer server) {
+ public Curator(ConfigserverConfig configserverConfig, VespaZooKeeperServer server) {
this(configserverConfig, createConnectionSpec(configserverConfig));
}
diff --git a/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServer.java b/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServer.java
new file mode 100644
index 00000000000..5a1f31a75c3
--- /dev/null
+++ b/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServer.java
@@ -0,0 +1,11 @@
+// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.zookeeper;
+
+/**
+ * Interface for a component that writes zookeeper config and starts a zookeeper server.
+ *
+ * @author Harald Musum
+ */
+public interface VespaZooKeeperServer {
+
+}
diff --git a/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java b/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java
index 252dc6697b0..5b4c0c11e80 100644
--- a/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java
+++ b/zookeeper-server/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java
@@ -18,16 +18,17 @@ import java.util.stream.Collectors;
* Writes zookeeper config and starts zookeeper server.
*
* @author Ulf Lilleengen
+ * @author Harald Musum
*/
-public class ZooKeeperServer extends AbstractComponent implements Runnable {
+public class VespaZooKeeperServerImpl extends AbstractComponent implements Runnable, VespaZooKeeperServer {
- private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(ZooKeeperServer.class.getName());
+ private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(VespaZooKeeperServerImpl.class.getName());
private static final String ZOOKEEPER_JMX_LOG4J_DISABLE = "zookeeper.jmx.log4j.disable";
static final String ZOOKEEPER_JUTE_MAX_BUFFER = "jute.maxbuffer";
private final Thread zkServerThread;
private final ZookeeperServerConfig zookeeperServerConfig;
- ZooKeeperServer(ZookeeperServerConfig zookeeperServerConfig, boolean startServer) {
+ VespaZooKeeperServerImpl(ZookeeperServerConfig zookeeperServerConfig, boolean startServer) {
this.zookeeperServerConfig = zookeeperServerConfig;
System.setProperty("zookeeper.jmx.log4j.disable", "true");
System.setProperty("zookeeper.snapshot.trust.empty", Boolean.valueOf(zookeeperServerConfig.trustEmptySnapshot()).toString());
@@ -41,7 +42,7 @@ public class ZooKeeperServer extends AbstractComponent implements Runnable {
}
@Inject
- public ZooKeeperServer(ZookeeperServerConfig zookeeperServerConfig) {
+ public VespaZooKeeperServerImpl(ZookeeperServerConfig zookeeperServerConfig) {
this(zookeeperServerConfig, true);
}
diff --git a/zookeeper-server/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java b/zookeeper-server/src/test/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImplTest.java
index 3f33892fd45..1081c5fda61 100644
--- a/zookeeper-server/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java
+++ b/zookeeper-server/src/test/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImplTest.java
@@ -17,7 +17,7 @@ import static com.yahoo.vespa.defaults.Defaults.getDefaults;
/**
* Tests the zookeeper server.
*/
-public class ZooKeeperServerTest {
+public class VespaZooKeeperServerImplTest {
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@@ -53,7 +53,7 @@ public class ZooKeeperServerTest {
}
private void createServer(ZookeeperServerConfig.Builder builder) {
- new ZooKeeperServer(new ZookeeperServerConfig(builder), false);
+ new VespaZooKeeperServerImpl(new ZookeeperServerConfig(builder), false);
}
@Test(expected = RuntimeException.class)
@@ -77,12 +77,12 @@ public class ZooKeeperServerTest {
builder.myidFile(idFile.getAbsolutePath());
createServer(builder);
- assertThat(System.getProperty(ZooKeeperServer.ZOOKEEPER_JUTE_MAX_BUFFER), is("" + new ZookeeperServerConfig(builder).juteMaxBuffer()));
+ assertThat(System.getProperty(VespaZooKeeperServerImpl.ZOOKEEPER_JUTE_MAX_BUFFER), is("" + new ZookeeperServerConfig(builder).juteMaxBuffer()));
final int max_buffer = 1;
builder.juteMaxBuffer(max_buffer);
createServer(builder);
- assertThat(System.getProperty(ZooKeeperServer.ZOOKEEPER_JUTE_MAX_BUFFER), is("" + max_buffer));
+ assertThat(System.getProperty(VespaZooKeeperServerImpl.ZOOKEEPER_JUTE_MAX_BUFFER), is("" + max_buffer));
}
private ZookeeperServerConfig.Server.Builder newServer(int id, String hostName, int electionPort, int quorumPort) {