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