summaryrefslogtreecommitdiffstats
path: root/zkfacade
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-10-24 08:23:01 +0200
committerHarald Musum <musum@oath.com>2018-10-24 08:23:01 +0200
commitcd4a8d0fc149af0e27f0ffdfd99df35cce4a7592 (patch)
tree0c9488abe78fd383c341b71aa2f98a7735de7b7c /zkfacade
parent3f6ee1763741cdb5f3148931883d665f58adcfb1 (diff)
Whitelist ZooKeeper four letter commands
Diffstat (limited to 'zkfacade')
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java4
-rw-r--r--zkfacade/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java4
2 files changed, 7 insertions, 1 deletions
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 405afcd3c39..c42c1793c41 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java
@@ -83,6 +83,10 @@ public class ZooKeeperServer extends AbstractComponent implements Runnable {
sb.append("clientPort=").append(config.clientPort()).append("\n");
sb.append("autopurge.purgeInterval=").append(config.autopurge().purgeInterval()).append("\n");
sb.append("autopurge.snapRetainCount=").append(config.autopurge().snapRetainCount()).append("\n");
+ // See http://zookeeper.apache.org/doc/r3.4.13/zookeeperAdmin.html#sc_zkCommands
+ // Includes all available commands in 3.4, except 'wchc' and 'wchp'
+ // Mandatory when using ZooKeeper 3.5
+ sb.append("4lw.commands.whitelist=conf,cons,crst,dump,envi,mntr,ruok,srst,srvr,stat,wchs").append("\n");
if (config.server().size() > 1) {
ensureThisServerIsRepresented(config.myid(), config.server());
for (ZookeeperServerConfig.Server server : config.server()) {
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 626e5bf0627..362ea901534 100644
--- a/zkfacade/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java
+++ b/zkfacade/src/test/java/com/yahoo/vespa/zookeeper/ZooKeeperServerTest.java
@@ -110,7 +110,8 @@ public class ZooKeeperServerTest {
"dataDir=" + getDefaults().underVespaHome("var/zookeeper") + "\n" +
"clientPort=2181\n" +
"autopurge.purgeInterval=1\n" +
- "autopurge.snapRetainCount=15\n";
+ "autopurge.snapRetainCount=15\n" +
+ "4lw.commands.whitelist=conf,cons,crst,dump,envi,mntr,ruok,srst,srvr,stat,wchs\n";
validateConfigFile(cfgFile, expected);
}
@@ -125,6 +126,7 @@ public class ZooKeeperServerTest {
"clientPort=2181\n" +
"autopurge.purgeInterval=1\n" +
"autopurge.snapRetainCount=15\n" +
+ "4lw.commands.whitelist=conf,cons,crst,dump,envi,mntr,ruok,srst,srvr,stat,wchs\n" +
"server.1=foo:321:123\n" +
"server.2=bar:432:234\n" +
"server.3=baz:543:345\n";