summaryrefslogtreecommitdiffstats
path: root/zkfacade
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-08-09 09:34:15 +0200
committerJon Bratseth <bratseth@oath.com>2018-08-09 09:34:15 +0200
commit3f3a30bbc9360fe9630b77fca393cb5be574d248 (patch)
tree3e21689c04922b3468cdb42fe8ad6c118ebdd67c /zkfacade
parente09bb9cd8d69b3008cc1ea95e2ef4c9aa85182af (diff)
Create directory before writing
Diffstat (limited to 'zkfacade')
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java8
1 files changed, 5 insertions, 3 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 352635ac920..405afcd3c39 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperServer.java
@@ -9,6 +9,7 @@ import com.yahoo.component.AbstractComponent;
import com.yahoo.log.LogLevel;
import static com.yahoo.vespa.defaults.Defaults.getDefaults;
+import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
@@ -61,9 +62,10 @@ public class ZooKeeperServer extends AbstractComponent implements Runnable {
public static ImmutableSet<String> getAllowedClientHostnames() { return allowedClientHostnames; }
private void writeConfigToDisk(ZookeeperServerConfig config) {
- String cfg = transformConfigToString(config);
- try (FileWriter writer = new FileWriter(getDefaults().underVespaHome(config.zooKeeperConfigFile()))) {
- writer.write(cfg);
+ String configFilePath = getDefaults().underVespaHome(config.zooKeeperConfigFile());
+ new File(configFilePath).getParentFile().mkdirs();
+ try (FileWriter writer = new FileWriter(configFilePath)) {
+ writer.write(transformConfigToString(config));
writeMyIdFile(config);
} catch (IOException e) {
throw new RuntimeException("Error writing zookeeper config", e);