This is an automated email from the ASF dual-hosted git repository.
andor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 3ae8e7750 ZOOKEEPER-4966: Decouple `ZKConfig` from
`QuorumPeerConfig.ConfigException`
3ae8e7750 is described below
commit 3ae8e7750e1a474ae63f2ff06112bc426f9f7acc
Author: Kezhu Wang <[email protected]>
AuthorDate: Fri Dec 19 04:03:31 2025 +0800
ZOOKEEPER-4966: Decouple `ZKConfig` from `QuorumPeerConfig.ConfigException`
Reviewers: anmolnar, cnauroth
Author: kezhuw
Closes #2306 from
kezhuw/ZOOKEEPER-4966-decouple-ZKConfig-from-QuorumPeerConfig
---
.../apache/zookeeper/client/ZKClientConfig.java | 13 ++--
.../java/org/apache/zookeeper/common/ZKConfig.java | 85 ++++++++++++----------
.../zookeeper/server/NettyServerCnxnFactory.java | 3 +-
.../zookeeper/server/PrepRequestProcessor.java | 2 +-
.../org/apache/zookeeper/server/ServerConfig.java | 2 +-
.../zookeeper/server/ZooKeeperServerMain.java | 2 +-
.../server/controller/ControllerServerConfig.java | 1 +
.../server/controller/ControllerService.java | 5 +-
.../server/quorum/FastLeaderElection.java | 2 +-
.../zookeeper/server/quorum/QuorumCnxManager.java | 2 +-
.../apache/zookeeper/server/quorum/QuorumPeer.java | 2 +-
.../zookeeper/server/quorum/QuorumPeerConfig.java | 13 +---
.../zookeeper/server/quorum/QuorumPeerMain.java | 2 +-
.../server/quorum/flexible/QuorumHierarchical.java | 2 +-
.../server/quorum/flexible/QuorumMaj.java | 2 +-
.../server/quorum/flexible/QuorumOracleMaj.java | 4 +-
.../apache/zookeeper/server/util/ConfigUtils.java | 2 +-
.../zookeeper/server/ZooKeeperServerMainTest.java | 2 +-
.../server/controller/ControllerConfigTest.java | 10 +--
.../server/quorum/QuorumCanonicalizeTest.java | 2 +-
.../server/quorum/QuorumPeerConfigTest.java | 2 +-
.../zookeeper/server/quorum/QuorumServerTest.java | 2 +-
.../server/quorum/auth/QuorumDigestAuthTest.java | 2 +-
.../zookeeper/server/util/ConfigUtilsTest.java | 2 +-
24 files changed, 82 insertions(+), 84 deletions(-)
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/client/ZKClientConfig.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/client/ZKClientConfig.java
index 5472838bd..91a390dda 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/client/ZKClientConfig.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/client/ZKClientConfig.java
@@ -23,7 +23,6 @@
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.common.ZKConfig;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
/**
* Handles client specific properties
@@ -78,22 +77,22 @@ public ZKClientConfig() {
/**
* <p><b>Use {@link ZKClientConfig#ZKClientConfig(Path configPath)}
instead.</b>
*
- * <p><b>The signature of this method will be changed to throw {@link
ConfigException}
- * instead of {@link QuorumPeerConfig.ConfigException} in future
release.</b>
+ * <p><b>The signature of this method has been changed to throw {@link
ConfigException}
+ * instead of {@code QuorumPeerConfig.ConfigException}.</b>
*/
@Deprecated
- public ZKClientConfig(File configFile) throws
QuorumPeerConfig.ConfigException {
+ public ZKClientConfig(File configFile) throws ConfigException {
super(configFile);
}
/**
* <p><b>Use {@link ZKClientConfig#ZKClientConfig(Path configPath)}
instead.</b>
*
- * <p><b>The signature of this method will be changed to throw {@link
ConfigException}
- * instead of {@link QuorumPeerConfig.ConfigException} in future
release.</b>
+ * <p><b>The signature of this method has been changed to throw {@link
ConfigException}
+ * instead of {@code QuorumPeerConfig.ConfigException}.</b>
*/
@Deprecated
- public ZKClientConfig(String configPath) throws
QuorumPeerConfig.ConfigException {
+ public ZKClientConfig(String configPath) throws ConfigException {
super(configPath);
}
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZKConfig.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZKConfig.java
index f6221eeb7..22d5f59be 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZKConfig.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZKConfig.java
@@ -21,13 +21,14 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
+import java.lang.reflect.Constructor;
import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import org.apache.zookeeper.Environment;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
import org.apache.zookeeper.server.util.VerifyingFileFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -65,8 +66,8 @@ public ZKConfig() {
/**
* <p><b>Use {@link ZKConfig#ZKConfig(Path configPath)} instead.</b>
*
- * <p><b>The signature of this method will be changed to throw {@link
ConfigException}
- * instead of {@link QuorumPeerConfig.ConfigException} in future
release.</b>
+ * <p><b>The signature of this method has been changed to throw {@link
ConfigException}
+ * instead of {@code QuorumPeerConfig.ConfigException}.</b>
*
* @param configPath
* Configuration file path
@@ -74,15 +75,15 @@ public ZKConfig() {
* if failed to load configuration properties
*/
@Deprecated
- public ZKConfig(String configPath) throws QuorumPeerConfig.ConfigException
{
- this(new File(configPath));
+ public ZKConfig(String configPath) throws ConfigException {
+ this(Paths.get(configPath));
}
/**
* <p><b>Use {@link ZKConfig#ZKConfig(Path configPath)} instead.</b>
*
- * <p><b>The signature of this method will be changed to throw {@link
ConfigException}
- * instead of {@link QuorumPeerConfig.ConfigException} in future
release.</b>
+ * <p><b>The signature of this method has been changed to throw {@link
ConfigException}
+ * instead of {@code QuorumPeerConfig.ConfigException}.</b>
*
* @param configFile
* Configuration file
@@ -90,10 +91,8 @@ public ZKConfig(String configPath) throws
QuorumPeerConfig.ConfigException {
* if failed to load configuration properties
*/
@Deprecated
- public ZKConfig(File configFile) throws QuorumPeerConfig.ConfigException {
- this();
- addConfiguration(configFile);
- LOG.info("ZK Config {}", this.properties);
+ public ZKConfig(File configFile) throws ConfigException {
+ this(configFile.toPath());
}
/**
@@ -102,9 +101,10 @@ public ZKConfig(File configFile) throws
QuorumPeerConfig.ConfigException {
* @param configPath path to configuration file
* @throws ConfigException
*/
- @SuppressWarnings("deprecation")
public ZKConfig(Path configPath) throws ConfigException {
- this(configPath.toFile());
+ this();
+ addConfiguration(configPath);
+ LOG.info("ZK Config {}", this.properties);
}
private void init() {
@@ -216,16 +216,39 @@ public void setProperty(String key, String value) {
*
* @param configPath path to Configuration file.
*/
- @SuppressWarnings("deprecation")
public void addConfiguration(Path configPath) throws ConfigException {
- addConfiguration(configPath.toFile());
+ Path absoluteConfigPath = configPath.toAbsolutePath();
+ LOG.info("Reading configuration from: {}", absoluteConfigPath);
+ try {
+ File configFile = (new
VerifyingFileFactory.Builder(LOG).warnForRelativePath()
+
.failForNonExistingPath()
+
.build()).validate(configPath.toFile());
+ Properties cfg = new Properties();
+ try (FileInputStream in = new FileInputStream(configFile)) {
+ cfg.load(in);
+ }
+ parseProperties(cfg);
+ } catch (IOException | IllegalArgumentException e) {
+ LOG.error("Error while configuration from: {}",
absoluteConfigPath, e);
+ String msg = "Error while processing " + absoluteConfigPath;
+ try {
+ Class<?> clazz =
Class.forName("org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException");
+ Class<? extends ConfigException> exceptionClass =
clazz.asSubclass(ConfigException.class);
+ Constructor<? extends ConfigException> constructor =
exceptionClass.getDeclaredConstructor(String.class, Exception.class);
+ throw constructor.newInstance(msg, e);
+ } catch (ClassNotFoundException ignored) {
+ } catch (Exception ignored) {
+ LOG.warn("Fail to construct QuorumPeerConfig.ConfigException",
e);
+ }
+ throw new ConfigException(msg, e);
+ }
}
/**
* <p><b>Use {@link #addConfiguration(Path)} instead.</b></p>
*
- * <p><b>The signature of this method will be changed to throw {@link
ConfigException}
- * instead of {@link QuorumPeerConfig.ConfigException} in future
release.</b>
+ * <p><b>The signature of this method has been changed to throw {@link
ConfigException}
+ * instead of {@code QuorumPeerConfig.ConfigException}.</b>
*
* <p>Add a configuration resource. The properties form this configuration
will
* overwrite corresponding already loaded property and system property
@@ -234,31 +257,15 @@ public void addConfiguration(Path configPath) throws
ConfigException {
* Configuration file.
*/
@Deprecated
- public void addConfiguration(File configFile) throws
QuorumPeerConfig.ConfigException {
- LOG.info("Reading configuration from: {}",
configFile.getAbsolutePath());
- try {
- configFile = (new
VerifyingFileFactory.Builder(LOG).warnForRelativePath()
-
.failForNonExistingPath()
-
.build()).validate(configFile);
- Properties cfg = new Properties();
- FileInputStream in = new FileInputStream(configFile);
- try {
- cfg.load(in);
- } finally {
- in.close();
- }
- parseProperties(cfg);
- } catch (IOException | IllegalArgumentException e) {
- LOG.error("Error while configuration from: {}",
configFile.getAbsolutePath(), e);
- throw new QuorumPeerConfig.ConfigException("Error while processing
" + configFile.getAbsolutePath(), e);
- }
+ public void addConfiguration(File configFile) throws ConfigException {
+ addConfiguration(configFile.toPath());
}
/**
* <p><b>Use {@link #addConfiguration(Path)} instead.</b></p>
*
- * <p><b>The signature of this method will be changed to throw {@link
ConfigException}
- * instead of {@link QuorumPeerConfig.ConfigException} in future
release.</b>
+ * <p><b>The signature of this method has been changed to throw {@link
ConfigException}
+ * instead of {@code QuorumPeerConfig.ConfigException}.</b>
*
* <p>Add a configuration resource. The properties form this configuration
will
* overwrite corresponding already loaded property and system property
@@ -267,8 +274,8 @@ public void addConfiguration(File configFile) throws
QuorumPeerConfig.ConfigExce
* Configuration file path.
*/
@Deprecated
- public void addConfiguration(String configPath) throws
QuorumPeerConfig.ConfigException {
- addConfiguration(new File(configPath));
+ public void addConfiguration(String configPath) throws ConfigException {
+ addConfiguration(Paths.get(configPath));
}
private void parseProperties(Properties cfg) {
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/NettyServerCnxnFactory.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/NettyServerCnxnFactory.java
index e6b0fac2a..6f6578744 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/NettyServerCnxnFactory.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/NettyServerCnxnFactory.java
@@ -62,6 +62,7 @@
import javax.net.ssl.SSLSession;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.common.ClientX509Util;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.common.NettyUtils;
import org.apache.zookeeper.common.X509Exception;
import org.apache.zookeeper.common.X509Exception.SSLContextException;
@@ -529,7 +530,7 @@ private ServerBootstrap
configureBootstrapAllocator(ServerBootstrap bootstrap) {
if (usePortUnification) {
try {
QuorumPeerConfig.configureSSLAuth();
- } catch (QuorumPeerConfig.ConfigException e) {
+ } catch (ConfigException e) {
LOG.error("unable to set up SslAuthProvider, turning off
client port unification", e);
usePortUnification = false;
}
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/PrepRequestProcessor.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/PrepRequestProcessor.java
index 961948a9c..d263fd75c 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/PrepRequestProcessor.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/PrepRequestProcessor.java
@@ -40,6 +40,7 @@
import org.apache.zookeeper.Op;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooDefs.OpCode;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.common.PathUtils;
import org.apache.zookeeper.common.StringUtils;
import org.apache.zookeeper.common.Time;
@@ -60,7 +61,6 @@
import org.apache.zookeeper.server.quorum.LeaderZooKeeperServer;
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.apache.zookeeper.server.quorum.flexible.QuorumMaj;
import org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj;
import org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ServerConfig.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ServerConfig.java
index 9da0e53a4..91cfe7c97 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ServerConfig.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ServerConfig.java
@@ -23,9 +23,9 @@
import java.util.Arrays;
import java.util.Properties;
import org.apache.yetus.audience.InterfaceAudience;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.metrics.impl.DefaultMetricsProvider;
import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
/**
* Server configuration storage.
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServerMain.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServerMain.java
index 6f15e9e62..c721e685b 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServerMain.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServerMain.java
@@ -23,6 +23,7 @@
import javax.management.JMException;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.zookeeper.audit.ZKAuditProvider;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.jmx.ManagedUtil;
import org.apache.zookeeper.metrics.MetricsProvider;
import org.apache.zookeeper.metrics.MetricsProviderLifeCycleException;
@@ -33,7 +34,6 @@
import org.apache.zookeeper.server.auth.ProviderRegistry;
import org.apache.zookeeper.server.persistence.FileTxnSnapLog;
import org.apache.zookeeper.server.persistence.FileTxnSnapLog.DatadirException;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.apache.zookeeper.server.util.JvmPauseMonitor;
import org.apache.zookeeper.util.ServiceUtils;
import org.slf4j.Logger;
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/controller/ControllerServerConfig.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/controller/ControllerServerConfig.java
index bbdc14f9a..ff9963123 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/controller/ControllerServerConfig.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/controller/ControllerServerConfig.java
@@ -25,6 +25,7 @@
import java.net.ServerSocket;
import java.util.HashMap;
import java.util.Map;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.server.ServerConfig;
import org.apache.zookeeper.server.quorum.QuorumPeer;
import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/controller/ControllerService.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/controller/ControllerService.java
index 8d71984f5..a762bc1ba 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/controller/ControllerService.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/controller/ControllerService.java
@@ -19,6 +19,7 @@
package org.apache.zookeeper.server.controller;
import java.io.IOException;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.server.ExitCode;
import org.apache.zookeeper.server.ServerCnxnFactory;
import org.apache.zookeeper.server.quorum.QuorumPeer;
@@ -119,7 +120,7 @@ protected void cleanup() {
/**
* Runs the main loop for this application but does not exit the process.
*/
- public void initializeAndRun(String[] args) throws
QuorumPeerConfig.ConfigException {
+ public void initializeAndRun(String[] args) throws ConfigException {
initConfig(args);
run();
}
@@ -127,7 +128,7 @@ public void initializeAndRun(String[] args) throws
QuorumPeerConfig.ConfigExcept
/**
* Derived classes may override to do custom initialization of command
line args.
*/
- protected void initConfig(String[] args) throws
QuorumPeerConfig.ConfigException {
+ protected void initConfig(String[] args) throws ConfigException {
if (args.length == 1) {
config.parse(args[0]);
}
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FastLeaderElection.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FastLeaderElection.java
index 8bc963a38..61c0eb601 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FastLeaderElection.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FastLeaderElection.java
@@ -27,13 +27,13 @@
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.common.Time;
import org.apache.zookeeper.jmx.MBeanRegistry;
import org.apache.zookeeper.server.ZooKeeperThread;
import org.apache.zookeeper.server.quorum.QuorumCnxManager.Message;
import org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType;
import org.apache.zookeeper.server.quorum.QuorumPeer.ServerState;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.apache.zookeeper.server.quorum.flexible.QuorumOracleMaj;
import org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
import org.apache.zookeeper.server.util.ZxidUtils;
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java
index 764b962ac..7a1601484 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java
@@ -61,11 +61,11 @@
import java.util.function.Supplier;
import java.util.stream.Collectors;
import javax.net.ssl.SSLSocket;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.common.NetUtils;
import org.apache.zookeeper.common.X509Exception;
import org.apache.zookeeper.server.ExitCode;
import org.apache.zookeeper.server.ZooKeeperThread;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.apache.zookeeper.server.quorum.auth.QuorumAuthLearner;
import org.apache.zookeeper.server.quorum.auth.QuorumAuthServer;
import org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeer.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeer.java
index 286d2d320..cf6f2f26c 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeer.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeer.java
@@ -57,6 +57,7 @@
import org.apache.zookeeper.common.AtomicFileOutputStream;
import org.apache.zookeeper.common.AtomicFileWritingIdiom;
import org.apache.zookeeper.common.AtomicFileWritingIdiom.WriterStatement;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.common.QuorumX509Util;
import org.apache.zookeeper.common.Time;
import org.apache.zookeeper.common.X509Exception;
@@ -72,7 +73,6 @@
import org.apache.zookeeper.server.admin.AdminServer.AdminServerException;
import org.apache.zookeeper.server.admin.AdminServerFactory;
import org.apache.zookeeper.server.persistence.FileTxnSnapLog;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.apache.zookeeper.server.quorum.auth.NullQuorumAuthLearner;
import org.apache.zookeeper.server.quorum.auth.NullQuorumAuthServer;
import org.apache.zookeeper.server.quorum.auth.QuorumAuth;
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
index 29083be07..eb034527c 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
@@ -42,6 +42,7 @@
import
org.apache.zookeeper.common.AtomicFileWritingIdiom.OutputStreamStatement;
import org.apache.zookeeper.common.AtomicFileWritingIdiom.WriterStatement;
import org.apache.zookeeper.common.ClientX509Util;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.common.PathUtils;
import org.apache.zookeeper.common.StringUtils;
import org.apache.zookeeper.common.Time;
@@ -157,18 +158,6 @@ public class QuorumPeerConfig {
*/
protected long jvmPauseSleepTimeMs = JvmPauseMonitor.SLEEP_TIME_MS_DEFAULT;
- @SuppressWarnings("serial")
- public static class ConfigException extends
org.apache.zookeeper.common.ConfigException {
-
- public ConfigException(String msg) {
- super(msg);
- }
- public ConfigException(String msg, Exception e) {
- super(msg, e);
- }
-
- }
-
/**
* Parse a ZooKeeper configuration file
* @param path the patch of the configuration file
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerMain.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerMain.java
index 59b7481ad..c126ea2e2 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerMain.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerMain.java
@@ -23,6 +23,7 @@
import javax.security.sasl.SaslException;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.zookeeper.audit.ZKAuditProvider;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.jmx.ManagedUtil;
import org.apache.zookeeper.metrics.MetricsProvider;
import org.apache.zookeeper.metrics.MetricsProviderLifeCycleException;
@@ -37,7 +38,6 @@
import org.apache.zookeeper.server.auth.ProviderRegistry;
import org.apache.zookeeper.server.persistence.FileTxnSnapLog;
import org.apache.zookeeper.server.persistence.FileTxnSnapLog.DatadirException;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.apache.zookeeper.server.util.JvmPauseMonitor;
import org.apache.zookeeper.util.ServiceUtils;
import org.slf4j.Logger;
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.java
index d4c7b2160..2b7c97463 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumHierarchical.java
@@ -27,9 +27,9 @@
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType;
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.java
index cc1723cf3..ab111f7f1 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumMaj.java
@@ -23,9 +23,9 @@
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.server.quorum.QuorumPeer.LearnerType;
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.java
index b3e7fa249..2622db4a0 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/flexible/QuorumOracleMaj.java
@@ -27,10 +27,10 @@
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.commons.io.FilenameUtils;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.server.quorum.Leader;
import org.apache.zookeeper.server.quorum.LearnerHandler;
import org.apache.zookeeper.server.quorum.QuorumPeer;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
import org.apache.zookeeper.server.quorum.SyncedLearnerTracker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,7 +55,7 @@ public QuorumOracleMaj(Map<Long, QuorumPeer.QuorumServer>
allMembers, String ora
setOracle(oraclePath);
}
- public QuorumOracleMaj(Properties props, String oraclePath) throws
QuorumPeerConfig.ConfigException {
+ public QuorumOracleMaj(Properties props, String oraclePath) throws
ConfigException {
super(props);
setOracle(oraclePath);
}
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/util/ConfigUtils.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/util/ConfigUtils.java
index d6f757297..850d432af 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/util/ConfigUtils.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/util/ConfigUtils.java
@@ -22,8 +22,8 @@
import java.io.StringReader;
import java.util.Map.Entry;
import java.util.Properties;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.server.quorum.QuorumPeer;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
public class ConfigUtils {
diff --git
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZooKeeperServerMainTest.java
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZooKeeperServerMainTest.java
index 5655e8b67..e32c43b5c 100644
---
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZooKeeperServerMainTest.java
+++
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/ZooKeeperServerMainTest.java
@@ -38,6 +38,7 @@
import org.apache.zookeeper.ZKTestCase;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.common.PathUtils;
import org.apache.zookeeper.metrics.BaseTestMetricsProvider;
import
org.apache.zookeeper.metrics.BaseTestMetricsProvider.MetricsProviderCapturingLifecycle;
@@ -46,7 +47,6 @@
import
org.apache.zookeeper.metrics.BaseTestMetricsProvider.MetricsProviderWithErrorInStart;
import
org.apache.zookeeper.metrics.BaseTestMetricsProvider.MetricsProviderWithErrorInStop;
import org.apache.zookeeper.server.persistence.FileTxnSnapLog;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.apache.zookeeper.test.ClientBase;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
diff --git
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/controller/ControllerConfigTest.java
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/controller/ControllerConfigTest.java
index 5d2c47e9d..3a0bda686 100644
---
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/controller/ControllerConfigTest.java
+++
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/controller/ControllerConfigTest.java
@@ -25,7 +25,7 @@
import java.net.ServerSocket;
import java.util.ArrayList;
import java.util.List;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
+import org.apache.zookeeper.common.ConfigException;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -113,7 +113,7 @@ public void parseFileFailsWithMissingPort() throws
Exception {
try {
ControllerServerConfig config = new
ControllerServerConfig(configFile.getAbsolutePath());
Assert.fail("Should have thrown with missing server config");
- } catch (QuorumPeerConfig.ConfigException ex) {
+ } catch (ConfigException ex) {
}
}
@@ -121,16 +121,16 @@ public void parseFileFailsWithMissingPort() throws
Exception {
try {
ControllerServerConfig config = new
ControllerServerConfig("DontLookHere.missing");
Assert.fail("should have thrown");
- } catch (QuorumPeerConfig.ConfigException ex) {
+ } catch (ConfigException ex) {
}
}
@Test
- public void parseInvalidPortThrows()throws
QuorumPeerConfig.ConfigException {
+ public void parseInvalidPortThrows()throws ConfigException {
try {
ControllerServerConfig config = new
ControllerServerConfig(configFile.getAbsolutePath());
Assert.fail("should have thrown");
- } catch (QuorumPeerConfig.ConfigException ex) {
+ } catch (ConfigException ex) {
}
}
diff --git
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumCanonicalizeTest.java
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumCanonicalizeTest.java
index aec017a08..346a2baed 100644
---
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumCanonicalizeTest.java
+++
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumCanonicalizeTest.java
@@ -24,7 +24,7 @@
import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.zookeeper.ZKTestCase;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
+import org.apache.zookeeper.common.ConfigException;
import org.burningwave.tools.net.DefaultHostResolver;
import org.burningwave.tools.net.HostResolutionRequestInterceptor;
import org.burningwave.tools.net.MappedHostResolver;
diff --git
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumPeerConfigTest.java
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumPeerConfigTest.java
index 6ad5a4b93..0f752e022 100644
---
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumPeerConfigTest.java
+++
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumPeerConfigTest.java
@@ -28,8 +28,8 @@
import java.net.InetSocketAddress;
import java.util.Properties;
import org.apache.zookeeper.common.ClientX509Util;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.junit.jupiter.api.Test;
public class QuorumPeerConfigTest {
diff --git
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumServerTest.java
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumServerTest.java
index f8831fc84..df4744543 100644
---
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumServerTest.java
+++
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumServerTest.java
@@ -24,8 +24,8 @@
import java.net.InetSocketAddress;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZKTestCase;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
diff --git
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/auth/QuorumDigestAuthTest.java
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/auth/QuorumDigestAuthTest.java
index ecc27772e..8630c69d6 100644
---
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/auth/QuorumDigestAuthTest.java
+++
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/auth/QuorumDigestAuthTest.java
@@ -27,8 +27,8 @@
import org.apache.zookeeper.PortAssignment;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
+import org.apache.zookeeper.common.ConfigException;
import org.apache.zookeeper.server.admin.AdminServer;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
import org.apache.zookeeper.server.quorum.QuorumPeerMain;
import org.apache.zookeeper.server.quorum.QuorumPeerTestBase;
import org.apache.zookeeper.server.quorum.QuorumPeerTestBase.MainThread;
diff --git
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/util/ConfigUtilsTest.java
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/util/ConfigUtilsTest.java
index 937d812fe..ecce3eaee 100644
---
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/util/ConfigUtilsTest.java
+++
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/util/ConfigUtilsTest.java
@@ -21,7 +21,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import org.apache.zookeeper.server.quorum.QuorumPeerConfig.ConfigException;
+import org.apache.zookeeper.common.ConfigException;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;