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/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new 292310a6d fix bug zookeeper sync delete config error (#4467)
292310a6d is described below

commit 292310a6dfa1f4310c277aadae4ea84b72ed40d2
Author: starlight2003 <[email protected]>
AuthorDate: Fri Mar 10 15:37:03 2023 +0800

    fix bug zookeeper sync delete config error (#4467)
    
    Co-authored-by: jufeng.gong <[email protected]>
---
 .../org/apache/shenyu/plugin/base/trie/ShenyuTrieRuleListener.java  | 6 ++++--
 .../apache/shenyu/sync/data/zookeeper/ZookeeperSyncDataService.java | 5 +++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/trie/ShenyuTrieRuleListener.java
 
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/trie/ShenyuTrieRuleListener.java
index 4d1fc8e75..1925ba216 100644
--- 
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/trie/ShenyuTrieRuleListener.java
+++ 
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/trie/ShenyuTrieRuleListener.java
@@ -26,7 +26,9 @@ import org.apache.shenyu.plugin.api.utils.SpringBeanUtils;
 import org.apache.shenyu.plugin.base.event.RuleTrieEvent;
 import org.springframework.context.ApplicationListener;
 
+import java.util.Collections;
 import java.util.List;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -40,8 +42,8 @@ public class ShenyuTrieRuleListener implements 
ApplicationListener<RuleTrieEvent
         RuleData ruleData = (RuleData) event.getSource();
         // new condition
         List<ConditionData> conditionDataList = 
ruleData.getConditionDataList();
-        List<ConditionData> filterConditions = conditionDataList.stream()
-                .filter(conditionData -> 
ParamTypeEnum.URI.getName().equals(conditionData.getParamType()))
+        List<ConditionData> filterConditions = 
Optional.ofNullable(conditionDataList).orElse(Collections.emptyList())
+                .stream().filter(conditionData -> 
ParamTypeEnum.URI.getName().equals(conditionData.getParamType()))
                 .collect(Collectors.toList());
 
         if (CollectionUtils.isNotEmpty(filterConditions)) {
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 cce1cc666..caae319bb 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
@@ -206,6 +206,7 @@ public class ZookeeperSyncDataService implements 
SyncDataService {
                 final PluginData pluginData = new PluginData();
                 pluginData.setName(pluginName);
                 Optional.ofNullable(pluginDataSubscriber).ifPresent(e -> 
e.unSubscribe(pluginData));
+                return;
             }
 
             // create or update
@@ -226,6 +227,7 @@ public class ZookeeperSyncDataService implements 
SyncDataService {
 
             if (type.equals(TreeCacheEvent.Type.NODE_REMOVED)) {
                 unCacheSelectorData(path);
+                return;
             }
 
             // create or update
@@ -252,6 +254,7 @@ public class ZookeeperSyncDataService implements 
SyncDataService {
                     throw new ShenyuException(e);
                 }
                 unCacheMetaData(metaData);
+                return;
             }
 
             // create or update
@@ -271,6 +274,7 @@ public class ZookeeperSyncDataService implements 
SyncDataService {
 
             if (type.equals(TreeCacheEvent.Type.NODE_REMOVED)) {
                 unCacheAuthData(path);
+                return;
             }
 
             // create or update
@@ -290,6 +294,7 @@ public class ZookeeperSyncDataService implements 
SyncDataService {
 
             if (type.equals(TreeCacheEvent.Type.NODE_REMOVED)) {
                 unCacheRuleData(path);
+                return;
             }
 
             // create or update

Reply via email to