diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-11-25 14:24:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-25 14:24:34 +0100 |
commit | 6a3349f23e56c9bf3e179056ce8c5c9f57b41c14 (patch) | |
tree | 2a03b10a194558adad1a8e35fca9f0c05c916331 | |
parent | 4791329e03d2abeee22383ebc5f8306a9cfa6d67 (diff) | |
parent | 8cf675ff933c5ebb03d7de5ea671372d170df1a8 (diff) |
Merge pull request #15467 from vespa-engine/revert-15457-hmusum/split-out-starting-of-config-server
Revert "Split out a class that takes care of running ZooKeeper server"
2 files changed, 34 insertions, 56 deletions
diff --git a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java b/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java index 3c42d881ecc..ee3695b02f8 100644 --- a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java +++ b/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/VespaZooKeeperServerImpl.java @@ -1,28 +1,55 @@ -// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.zookeeper; import com.google.inject.Inject; import com.yahoo.cloud.config.ZookeeperServerConfig; import com.yahoo.component.AbstractComponent; +import com.yahoo.security.tls.TransportSecurityUtils; + +import java.util.logging.Level; + +import static com.yahoo.vespa.defaults.Defaults.getDefaults; +import static com.yahoo.vespa.zookeeper.Configurator.zookeeperServerHostnames; /** - * Main component controlling startup and stop of zookeeper server + * Writes zookeeper config and starts zookeeper server. * * @author Ulf Lilleengen * @author Harald Musum */ -public class VespaZooKeeperServerImpl extends AbstractComponent implements VespaZooKeeperServer { - - private final ZooKeeperRunner zooKeeperRunner; +public class VespaZooKeeperServerImpl extends AbstractComponent implements Runnable, VespaZooKeeperServer { + private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(VespaZooKeeperServerImpl.class.getName()); + private final Thread zkServerThread; + private final ZookeeperServerConfig zookeeperServerConfig; @Inject public VespaZooKeeperServerImpl(ZookeeperServerConfig zookeeperServerConfig) { - this.zooKeeperRunner = new ZooKeeperRunner(zookeeperServerConfig); + this.zookeeperServerConfig = zookeeperServerConfig; + new Configurator(zookeeperServerConfig).writeConfigToDisk(TransportSecurityUtils.getOptions()); + zkServerThread = new Thread(this, "zookeeper server"); + zkServerThread.start(); + } + + private void shutdown() { + zkServerThread.interrupt(); + try { + zkServerThread.join(); + } catch (InterruptedException e) { + log.log(Level.WARNING, "Error joining server thread on shutdown", e); + } + } + + @Override + public void run() { + String[] args = new String[]{getDefaults().underVespaHome(zookeeperServerConfig.zooKeeperConfigFile())}; + log.log(Level.INFO, "Starting ZooKeeper server with config file " + args[0] + + ". Trying to establish ZooKeeper quorum (members: " + zookeeperServerHostnames(zookeeperServerConfig) + ")"); + org.apache.zookeeper.server.quorum.QuorumPeerMain.main(args); } @Override public void deconstruct() { - zooKeeperRunner.shutdown(); + shutdown(); super.deconstruct(); } diff --git a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperRunner.java b/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperRunner.java deleted file mode 100644 index 492417cef96..00000000000 --- a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/ZooKeeperRunner.java +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.zookeeper; - -import com.yahoo.cloud.config.ZookeeperServerConfig; -import com.yahoo.security.tls.TransportSecurityUtils; - -import java.util.logging.Level; - -import static com.yahoo.vespa.defaults.Defaults.getDefaults; -import static com.yahoo.vespa.zookeeper.Configurator.zookeeperServerHostnames; - -/** - * Writes zookeeper config and starts zookeeper server. - * - * @author Harald Musum - */ -public class ZooKeeperRunner implements Runnable { - private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(ZooKeeperRunner.class.getName()); - private final Thread zkServerThread; - private final ZookeeperServerConfig zookeeperServerConfig; - - public ZooKeeperRunner(ZookeeperServerConfig zookeeperServerConfig) { - this.zookeeperServerConfig = zookeeperServerConfig; - new Configurator(zookeeperServerConfig).writeConfigToDisk(TransportSecurityUtils.getOptions()); - zkServerThread = new Thread(this, "zookeeper server"); - zkServerThread.start(); - } - - void shutdown() { - zkServerThread.interrupt(); - try { - zkServerThread.join(); - } catch (InterruptedException e) { - log.log(Level.WARNING, "Error joining server thread on shutdown", e); - } - } - - @Override - public void run() { - String[] args = new String[]{getDefaults().underVespaHome(zookeeperServerConfig.zooKeeperConfigFile())}; - log.log(Level.INFO, "Starting ZooKeeper server with config file " + args[0] + - ". Trying to establish ZooKeeper quorum (members: " + zookeeperServerHostnames(zookeeperServerConfig) + ")"); - org.apache.zookeeper.server.quorum.QuorumPeerMain.main(args); - } - - public ZookeeperServerConfig zookeeperServerConfig() { - return zookeeperServerConfig; - } -} |