Github user lvfangmin commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/601#discussion_r212528161
--- Diff:
src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerMain.java ---
@@ -141,6 +145,16 @@ public void runFromConfig(QuorumPeerConfig config)
LOG.info("Starting quorum peer");
try {
+ MetricsProvider metricsProvider;
+ try {
+ metricsProvider = MetricsProviderBootstrap
+
.startMetricsProvider(config.metricsProviderClassName, new Properties());
+ } catch (MetricsProviderLifeCycleException error) {
+ LOG.error("Cannot boot MetricsProvider {}",
config.metricsProviderClassName, error);
+ throw new IOException("Cannot boot MetricsProvider " +
config.metricsProviderClassName,
--- End diff --
What kind of failure will cause this IOException to throw, will the
external dependency failure cause the ZK not to start up? If so I don't think
that's a good idea, services like ZK should have no critical external
dependency, if the external service failed we should still able to start ZK
service.
---