You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/10/03 21:30:57 UTC

[pulsar] branch master updated: Avoid NullPointerException in ZK server stats collection (#2710)

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new fe04ce8  Avoid NullPointerException in ZK server stats collection (#2710)
fe04ce8 is described below

commit fe04ce8453b4da5dc6be6541cd039989495a7fd7
Author: Matteo Merli <mm...@apache.org>
AuthorDate: Wed Oct 3 14:30:50 2018 -0700

    Avoid NullPointerException in ZK server stats collection (#2710)
---
 .../java/org/apache/pulsar/zookeeper/ZooKeeperServerAspect.java   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/pulsar-zookeeper/src/main/java/org/apache/pulsar/zookeeper/ZooKeeperServerAspect.java b/pulsar-zookeeper/src/main/java/org/apache/pulsar/zookeeper/ZooKeeperServerAspect.java
index 24919be..b48a081 100644
--- a/pulsar-zookeeper/src/main/java/org/apache/pulsar/zookeeper/ZooKeeperServerAspect.java
+++ b/pulsar-zookeeper/src/main/java/org/apache/pulsar/zookeeper/ZooKeeperServerAspect.java
@@ -20,6 +20,7 @@ package org.apache.pulsar.zookeeper;
 
 import io.prometheus.client.Gauge;
 
+import org.apache.zookeeper.server.ServerCnxnFactory;
 import org.apache.zookeeper.server.ZooKeeperServer;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.After;
@@ -71,7 +72,12 @@ public class ZooKeeperServerAspect {
                 .setChild(new Gauge.Child() {
                     @Override
                     public double get() {
-                        return zkServer.serverStats().getNumAliveClientConnections();
+                        ServerCnxnFactory cnxFactory = zkServer.getServerCnxnFactory();
+                        if (cnxFactory != null) {
+                            return cnxFactory.getNumAliveConnections();
+                        } else {
+                            return -1;
+                        }
                     }
                 }).register();