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

liuhongyu pushed a commit to branch fix/fix_sync_bug
in repository https://gitbox.apache.org/repos/asf/shenyu.git

commit 1f3a9e429598f1d8966db831b72fbbd6c3120844
Author: liuhy <liuhon...@apache.org>
AuthorDate: Wed May 28 15:42:16 2025 +0800

    [fix] fix data sync bug
---
 .../plugin/base/cache/CommonPluginDataSubscriber.java   | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git 
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/CommonPluginDataSubscriber.java
 
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/CommonPluginDataSubscriber.java
index e42f4f2844..2b6da46b46 100644
--- 
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/CommonPluginDataSubscriber.java
+++ 
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/cache/CommonPluginDataSubscriber.java
@@ -27,6 +27,7 @@ import org.apache.shenyu.common.enums.DataEventTypeEnum;
 import org.apache.shenyu.common.enums.PluginHandlerEventEnum;
 import org.apache.shenyu.common.enums.TrieCacheTypeEnum;
 import org.apache.shenyu.common.enums.TrieEventEnum;
+import org.apache.shenyu.common.utils.JsonUtils;
 import org.apache.shenyu.common.utils.MapUtils;
 import org.apache.shenyu.plugin.api.utils.SpringBeanUtils;
 import org.apache.shenyu.plugin.base.event.TrieEvent;
@@ -195,12 +196,16 @@ public class CommonPluginDataSubscriber implements 
PluginDataSubscriber {
     }
     
     private <T> void subscribeDataHandler(final T classData, final 
DataEventTypeEnum dataType) {
-        if (dataType == DataEventTypeEnum.UPDATE) {
-            Optional.ofNullable(classData)
-                    .ifPresent(data -> updateCacheData(classData));
-        } else if (dataType == DataEventTypeEnum.DELETE) {
-            Optional.ofNullable(classData)
-                    .ifPresent(data -> removeCacheData(classData));
+        try {
+            if (dataType == DataEventTypeEnum.UPDATE) {
+                Optional.ofNullable(classData)
+                        .ifPresent(data -> updateCacheData(classData));
+            } else if (dataType == DataEventTypeEnum.DELETE) {
+                Optional.ofNullable(classData)
+                        .ifPresent(data -> removeCacheData(classData));
+            }
+        } catch (Exception e) {
+            LOG.error("subscribe data handler error, classData: {}, dataType: 
{}", JsonUtils.toJson(classData), dataType, e);
         }
     }
     

Reply via email to