diff --git a/config/seata-config-zk/src/main/java/io/seata/config/zk/ZookeeperConfiguration.java b/config/seata-config-zk/src/main/java/io/seata/config/zk/ZookeeperConfiguration.java
index 8e80dd42cff59c7cf671c3f8179ad994011d6d2e..70d681a8ef78f45d83c1030cb8041570cfab4b37 100644
--- a/config/seata-config-zk/src/main/java/io/seata/config/zk/ZookeeperConfiguration.java
+++ b/config/seata-config-zk/src/main/java/io/seata/config/zk/ZookeeperConfiguration.java
@@ -348,15 +348,16 @@ public class ZookeeperConfiguration extends AbstractConfiguration {
 
                 return;
             }
-
-            ConfigurationChangeEvent event = new ConfigurationChangeEvent().setDataId(s).setNewValue(o.toString())
-                    .setChangeType(ConfigurationChangeType.MODIFY);
+            String dataId = s.replaceFirst(ROOT_PATH + ZK_PATH_SPLIT_CHAR, "");
+            ConfigurationChangeEvent event = new ConfigurationChangeEvent().setDataId(dataId).setNewValue(o.toString())
+                .setChangeType(ConfigurationChangeType.MODIFY);
             listener.onProcessEvent(event);
         }
 
         @Override
         public void handleDataDeleted(String s) {
-            ConfigurationChangeEvent event = new ConfigurationChangeEvent().setDataId(s).setChangeType(
+            String dataId = s.replaceFirst(ROOT_PATH + ZK_PATH_SPLIT_CHAR, "");
+            ConfigurationChangeEvent event = new ConfigurationChangeEvent().setDataId(dataId).setChangeType(
                     ConfigurationChangeType.DELETE);
             listener.onProcessEvent(event);
         }