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

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


The following commit(s) were added to refs/heads/master by this push:
     new eda5a06  [type: bug] fix zk sync error handinling event bug. (#2391)
eda5a06 is described below

commit eda5a0661fe3e598fd349f41b1079d808d8cbd86
Author: Qicz <[email protected]>
AuthorDate: Thu Nov 18 10:52:31 2021 +0800

    [type: bug] fix zk sync error handinling event bug. (#2391)
---
 .../sync/data/zookeeper/ZookeeperSyncDataService.java       | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git 
a/shenyu-sync-data-center/shenyu-sync-data-zookeeper/src/main/java/org/apache/shenyu/sync/data/zookeeper/ZookeeperSyncDataService.java
 
b/shenyu-sync-data-center/shenyu-sync-data-zookeeper/src/main/java/org/apache/shenyu/sync/data/zookeeper/ZookeeperSyncDataService.java
index f7a1b60..33c487d 100644
--- 
a/shenyu-sync-data-center/shenyu-sync-data-zookeeper/src/main/java/org/apache/shenyu/sync/data/zookeeper/ZookeeperSyncDataService.java
+++ 
b/shenyu-sync-data-center/shenyu-sync-data-zookeeper/src/main/java/org/apache/shenyu/sync/data/zookeeper/ZookeeperSyncDataService.java
@@ -189,7 +189,6 @@ public class ZookeeperSyncDataService implements 
SyncDataService, AutoCloseable
                             cacheSelectorData(selectorData);
                             return realPath;
                         }).forEach(this::subscribeSelectorDataChanges);
-
                     }
                 });
                 break;
@@ -267,7 +266,8 @@ public class ZookeeperSyncDataService implements 
SyncDataService, AutoCloseable
         zkClient.subscribeDataChanges(path, new IZkDataListener() {
             @Override
             public void handleDataChange(final String dataPath, final Object 
data) {
-                
cacheSelectorData(GsonUtils.getInstance().fromJson(data.toString(), 
SelectorData.class));
+                Optional.ofNullable(data)
+                        .ifPresent(e -> 
cacheSelectorData(GsonUtils.getInstance().fromJson(data.toString(), 
SelectorData.class)));
             }
 
             @Override
@@ -281,7 +281,8 @@ public class ZookeeperSyncDataService implements 
SyncDataService, AutoCloseable
         zkClient.subscribeDataChanges(path, new IZkDataListener() {
             @Override
             public void handleDataChange(final String dataPath, final Object 
data) {
-                
cacheRuleData(GsonUtils.getInstance().fromJson(data.toString(), 
RuleData.class));
+                Optional.ofNullable(data)
+                        .ifPresent(e -> 
cacheRuleData(GsonUtils.getInstance().fromJson(data.toString(), 
RuleData.class)));
             }
 
             @Override
@@ -295,7 +296,8 @@ public class ZookeeperSyncDataService implements 
SyncDataService, AutoCloseable
         zkClient.subscribeDataChanges(realPath, new IZkDataListener() {
             @Override
             public void handleDataChange(final String dataPath, final Object 
data) {
-                
cacheAuthData(GsonUtils.getInstance().fromJson(data.toString(), 
AppAuthData.class));
+                Optional.ofNullable(data)
+                        .ifPresent(e -> 
cacheAuthData(GsonUtils.getInstance().fromJson(data.toString(), 
AppAuthData.class)));
             }
 
             @Override
@@ -309,7 +311,8 @@ public class ZookeeperSyncDataService implements 
SyncDataService, AutoCloseable
         zkClient.subscribeDataChanges(realPath, new IZkDataListener() {
             @Override
             public void handleDataChange(final String dataPath, final Object 
data) {
-                
cacheMetaData(GsonUtils.getInstance().fromJson(data.toString(), 
MetaData.class));
+                Optional.ofNullable(data)
+                        .ifPresent(e -> 
cacheMetaData(GsonUtils.getInstance().fromJson(data.toString(), 
MetaData.class)));
             }
 
             @Override

Reply via email to