diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-12-07 13:37:26 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-12-07 13:37:26 +0100 |
commit | f98e158a6f61cd39029f439da903f10e75e4c3fa (patch) | |
tree | ca0ad83241f461097e790c4ddaaddb6d5a796839 /zookeeper-server/zookeeper-server-common | |
parent | c183491dd0d3ad22477f4c1f884bec07156956bf (diff) |
Split out a ZKAdmin interface and implement it
Diffstat (limited to 'zookeeper-server/zookeeper-server-common')
2 files changed, 37 insertions, 0 deletions
diff --git a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/ReconfigException.java b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/ReconfigException.java new file mode 100644 index 00000000000..ade9245615b --- /dev/null +++ b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/ReconfigException.java @@ -0,0 +1,19 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.zookeeper; + +/** + * Interface for reconfiguring a zookeeper cluster. + * + * @author hmusum + */ +@SuppressWarnings("serial") +public class ReconfigException extends RuntimeException { + + public ReconfigException(Throwable cause) { + super(cause); + } + + public ReconfigException(String message) { + super(message); + } +} diff --git a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/ZkAdmin.java b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/ZkAdmin.java new file mode 100644 index 00000000000..fb62f662566 --- /dev/null +++ b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/ZkAdmin.java @@ -0,0 +1,18 @@ +// 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 java.time.Duration; + +/** + * Interface for administering a zookeeper cluster. Currently only supports reconfiguring a zookeeper cluster. + * + * @author hmusum + */ +public interface ZkAdmin { + + void reconfigure(String connectionSpec, String joiningServers, String leavingServers) throws ReconfigException; + + /* Timeout for connecting to ZooKeeper */ + default Duration sessionTimeout() { return Duration.ofSeconds(30); } + +} |