summaryrefslogtreecommitdiffstats
path: root/zkfacade
diff options
context:
space:
mode:
authorJon Bratseth <jonbratseth@yahoo.com>2016-08-26 21:28:01 +0200
committerGitHub <noreply@github.com>2016-08-26 21:28:01 +0200
commitc67a94a640eaf875a2ee82a2fdbfea8bd3441a83 (patch)
tree45ee9f97bdd7e4f244dadcc3d346c863a9c8978b /zkfacade
parent6d7c16fecef99b661ded4c445f0d59d6fc8d4b2b (diff)
Revert "Bratseth/lockdown zk"
Diffstat (limited to 'zkfacade')
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java53
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java13
-rw-r--r--zkfacade/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java3
3 files changed, 2 insertions, 67 deletions
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java b/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java
deleted file mode 100644
index ae7df9ac7cf..00000000000
--- a/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/RestrictedServerCnxnFactory.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.yahoo.vespa.zookeeper;
-
-import org.apache.zookeeper.server.NIOServerCnxn;
-import org.apache.zookeeper.server.NIOServerCnxnFactory;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.nio.channels.SelectionKey;
-import java.nio.channels.SocketChannel;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Logger;
-
-/**
- * This class is created by zookeeper by reflection, see the ZooKeeperServer constructor.
- *
- * @author bratseth
- */
-@SuppressWarnings("unused")
-public class RestrictedServerCnxnFactory extends NIOServerCnxnFactory {
-
- private static final Logger log = Logger.getLogger(RestrictedServerCnxnFactory.class.getName());
- private final Set<String> zooKeeperServerHostnames;
-
- public RestrictedServerCnxnFactory() throws IOException {
- super();
- zooKeeperServerHostnames = toHostnameSet(System.getProperty(ZooKeeperServer.ZOOKEEPER_VESPA_SERVERS_PROPERTY));
- }
-
- private Set<String> toHostnameSet(String commaSeparatedString) {
- if (commaSeparatedString == null || commaSeparatedString.isEmpty())
- throw new IllegalArgumentException("We have not received the list of ZooKeeper servers in this system");
-
- Set<String> hostnames = new HashSet<>();
- for (String hostname : commaSeparatedString.split(","))
- hostnames.add(hostname.trim());
- return hostnames;
- }
-
- @Override
- protected NIOServerCnxn createConnection(SocketChannel socket, SelectionKey selection) throws IOException {
- String remoteHost = ((InetSocketAddress)socket.getRemoteAddress()).getHostName();
- if ( ! remoteHost.equals("localhost") && ! zooKeeperServerHostnames.contains(remoteHost)) {
- String errorMessage = "Rejecting connection to ZooKeeper from " + remoteHost +
- ": This cluster only allow connection among its own hosts. " +
- "Hosts in this cluster: " + zooKeeperServerHostnames;
- log.warning(errorMessage);
- throw new IllegalArgumentException(errorMessage);
- }
- return super.createConnection(socket, selection);
- }
-
-}
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java b/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java
index d4670e97ed8..ffae797561c 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java
@@ -22,7 +22,6 @@ public class ZooKeeperServer extends AbstractComponent implements Runnable {
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(ZooKeeperServer.class.getName());
private static final String ZOOKEEPER_JMX_LOG4J_DISABLE = "zookeeper.jmx.log4j.disable";
static final String ZOOKEEPER_JUTE_MAX_BUFFER = "jute.maxbuffer";
- static final String ZOOKEEPER_VESPA_SERVERS_PROPERTY = "zookeeper.vespa.servers";
private final Thread zkServerThread;
private final ZookeeperServerConfig config;
@@ -30,10 +29,6 @@ public class ZooKeeperServer extends AbstractComponent implements Runnable {
this.config = config;
System.setProperty("zookeeper.jmx.log4j.disable", "true");
System.setProperty(ZOOKEEPER_JUTE_MAX_BUFFER, "" + config.juteMaxBuffer());
-
- System.setProperty(ZOOKEEPER_VESPA_SERVERS_PROPERTY, toHostnameString(config.server()));
- System.setProperty("zookeeper.serverCnxnFactory", "com.yahoo.vespa.zookeeper.RestrictedServerCnxnFactory");
-
writeConfigToDisk(config);
zkServerThread = new Thread(this, "zookeeper server");
if (startServer) {
@@ -45,14 +40,6 @@ public class ZooKeeperServer extends AbstractComponent implements Runnable {
public ZooKeeperServer(ZookeeperServerConfig config) {
this(config, true);
}
-
- private String toHostnameString(List<ZookeeperServerConfig.Server> servers) {
- StringBuilder b = new StringBuilder();
- for (ZookeeperServerConfig.Server server : servers)
- b.append(server.hostname()).append(", ");
- b.setLength(b.length()-1); // remove the last ", "
- return b.toString();
- }
private void writeConfigToDisk(ZookeeperServerConfig config) {
String cfg = transformConfigToString(config);
diff --git a/zkfacade/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java b/zkfacade/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java
index 8c4db5dc8e4..4e231631f28 100644
--- a/zkfacade/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java
+++ b/zkfacade/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.zookeeper;
import com.yahoo.cloud.config.ZookeeperServerConfig;
import com.yahoo.io.IOUtils;
+import com.yahoo.vespa.curator.Curator;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
@@ -11,6 +12,7 @@ import java.io.File;
import java.io.IOException;
import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
import com.yahoo.vespa.defaults.Defaults;
@@ -72,7 +74,6 @@ public class ZooKeeperServerTest {
File idFile = folder.newFile();
File cfgFile = folder.newFile();
- builder.server(new ZookeeperServerConfig.Server.Builder().id(0).hostname("testhost"));
builder.zooKeeperConfigFile(cfgFile.getAbsolutePath());
builder.myidFile(idFile.getAbsolutePath());