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();