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.


---

Reply via email to