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

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git


The following commit(s) were added to refs/heads/master by this push:
     new 5285952  check curator event with empty data value (#4126)
5285952 is described below

commit 5285952a2ab80780133b4f9b1a9bb308ac9978a0
Author: cvictory <[email protected]>
AuthorDate: Thu May 23 11:20:11 2019 +0800

    check curator event with empty data value (#4126)
    
    fixes #3866
---
 .../remoting/zookeeper/curator/CuratorZookeeperClient.java    | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java
 
b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java
index e3a06e5..b14cd11 100644
--- 
a/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java
+++ 
b/dubbo-remoting/dubbo-remoting-zookeeper/src/main/java/org/apache/dubbo/remoting/zookeeper/curator/CuratorZookeeperClient.java
@@ -17,6 +17,8 @@
 package org.apache.dubbo.remoting.zookeeper.curator;
 
 import org.apache.dubbo.common.URL;
+import org.apache.dubbo.common.logger.Logger;
+import org.apache.dubbo.common.logger.LoggerFactory;
 import org.apache.dubbo.common.utils.StringUtils;
 import org.apache.dubbo.remoting.zookeeper.ChildListener;
 import org.apache.dubbo.remoting.zookeeper.DataListener;
@@ -49,6 +51,8 @@ import static 
org.apache.dubbo.common.constants.CommonConstants.TIMEOUT_KEY;
 
 public class CuratorZookeeperClient extends 
AbstractZookeeperClient<CuratorZookeeperClient.CuratorWatcherImpl, 
CuratorZookeeperClient.CuratorWatcherImpl> {
 
+    protected static final Logger logger = 
LoggerFactory.getLogger(CuratorZookeeperClient.class);
+
     static final Charset CHARSET = Charset.forName("UTF-8");
     private final CuratorFramework client;
     private Map<String, TreeCache> treeCacheMap = new ConcurrentHashMap<>();
@@ -288,6 +292,9 @@ public class CuratorZookeeperClient extends 
AbstractZookeeperClient<CuratorZooke
         @Override
         public void childEvent(CuratorFramework client, TreeCacheEvent event) 
throws Exception {
             if (dataListener != null) {
+                if (logger.isInfoEnabled()) {
+                    logger.info("listen the zookeeper changed. The changed 
data:" + event.getData());
+                }
                 TreeCacheEvent.Type type = event.getType();
                 EventType eventType = null;
                 String content = null;
@@ -296,12 +303,12 @@ public class CuratorZookeeperClient extends 
AbstractZookeeperClient<CuratorZooke
                     case NODE_ADDED:
                         eventType = EventType.NodeCreated;
                         path = event.getData().getPath();
-                        content = new String(event.getData().getData(), 
CHARSET);
+                        content = event.getData().getData() == null ? "" : new 
String(event.getData().getData(), CHARSET);
                         break;
                     case NODE_UPDATED:
                         eventType = EventType.NodeDataChanged;
                         path = event.getData().getPath();
-                        content = new String(event.getData().getData(), 
CHARSET);
+                        content = event.getData().getData() == null ? "" : new 
String(event.getData().getData(), CHARSET);
                         break;
                     case NODE_REMOVED:
                         path = event.getData().getPath();

Reply via email to