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

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new c55d1c0d873 Refactor TableMetaDataNodePath and ViewMetaDataNodePath 
(#34278)
c55d1c0d873 is described below

commit c55d1c0d87361b0885a9407999f28228877baa2c
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jan 8 02:11:20 2025 +0800

    Refactor TableMetaDataNodePath and ViewMetaDataNodePath (#34278)
    
    * Refactor TableMetaDataNodePath and ViewMetaDataNodePath
    
    * Refactor TableMetaDataNodePath and ViewMetaDataNodePath
---
 ...etaDataNode.java => TableMetaDataNodePath.java} | 78 +++++++++----------
 ...MetaDataNode.java => ViewMetaDataNodePath.java} | 74 +++++++++---------
 .../table/TableMetaDataPersistService.java         | 22 +++---
 .../metadata/table/ViewMetaDataPersistService.java | 20 ++---
 .../node/metadata/TableMetaDataNodePathTest.java   | 89 ++++++++++++++++++++++
 .../node/metadata/TableMetaDataNodeTest.java       | 89 ----------------------
 .../node/metadata/ViewMetaDataNodePathTest.java    | 89 ++++++++++++++++++++++
 .../node/metadata/ViewMetaDataNodeTest.java        | 89 ----------------------
 .../database/metadata/MetaDataChangedHandler.java  | 16 ++--
 .../database/metadata/TableChangedHandler.java     |  6 +-
 .../database/metadata/ViewChangedHandler.java      |  6 +-
 11 files changed, 286 insertions(+), 292 deletions(-)

diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNode.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePath.java
similarity index 56%
rename from 
kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNode.java
rename to 
kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePath.java
index 8740be20ec2..4f86e15cc5b 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNode.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePath.java
@@ -25,20 +25,20 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
- * Table meta data node.
+ * Table meta data node path.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class TableMetaDataNode {
+public final class TableMetaDataNodePath {
     
-    private static final String ROOT_NODE = "metadata";
+    private static final String ROOT_NODE = "/metadata";
     
     private static final String SCHEMAS_NODE = "schemas";
     
     private static final String TABLES_NODE = "tables";
     
-    private static final String ACTIVE_VERSION = "active_version";
+    private static final String VERSIONS_NODE = "versions";
     
-    private static final String VERSIONS = "versions";
+    private static final String ACTIVE_VERSION_NODE = "active_version";
     
     private static final String TABLES_PATTERN = 
"/([\\w\\-]+)/schemas/([\\w\\-]+)/tables";
     
@@ -47,110 +47,106 @@ public final class TableMetaDataNode {
     private static final String TABLE_SUFFIX = "/([\\w\\-]+)$";
     
     /**
-     * Get meta data tables node.
+     * Get meta data tables path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @return tables path
      */
-    public static String getMetaDataTablesNode(final String databaseName, 
final String schemaName) {
-        return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE, 
schemaName, TABLES_NODE);
+    public static String getMetaDataTablesPath(final String databaseName, 
final String schemaName) {
+        return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE, 
schemaName, TABLES_NODE);
     }
     
     /**
-     * Get table active version node.
+     * Get table active version path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @param tableName table name
-     * @return tables active version node
+     * @return tables active version path
      */
-    public static String getTableActiveVersionNode(final String databaseName, 
final String schemaName, final String tableName) {
-        return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE, 
schemaName, TABLES_NODE, tableName, ACTIVE_VERSION);
+    public static String getTableActiveVersionPath(final String databaseName, 
final String schemaName, final String tableName) {
+        return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE, 
schemaName, TABLES_NODE, tableName, ACTIVE_VERSION_NODE);
     }
     
     /**
-     * Get table versions node.
+     * Get table versions path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @param tableName table name
-     * @return tables versions node
+     * @return tables versions path
      */
-    public static String getTableVersionsNode(final String databaseName, final 
String schemaName, final String tableName) {
-        return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE, 
schemaName, TABLES_NODE, tableName, VERSIONS);
+    public static String getTableVersionsPath(final String databaseName, final 
String schemaName, final String tableName) {
+        return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE, 
schemaName, TABLES_NODE, tableName, VERSIONS_NODE);
     }
     
     /**
-     * Get table version node.
+     * Get table version path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @param tableName table name
      * @param version version
-     * @return table version node
+     * @return table version path
      */
-    public static String getTableVersionNode(final String databaseName, final 
String schemaName, final String tableName, final String version) {
-        return String.join("/", getTableVersionsNode(databaseName, schemaName, 
tableName), version);
+    public static String getTableVersionPath(final String databaseName, final 
String schemaName, final String tableName, final String version) {
+        return String.join("/", getTableVersionsPath(databaseName, schemaName, 
tableName), version);
     }
     
     /**
-     * Get table node.
+     * Get table path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @param tableName table name
-     * @return table node
+     * @return table path
      */
-    public static String getTableNode(final String databaseName, final String 
schemaName, final String tableName) {
-        return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE, 
schemaName, TABLES_NODE, tableName);
+    public static String getTablePath(final String databaseName, final String 
schemaName, final String tableName) {
+        return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE, 
schemaName, TABLES_NODE, tableName);
     }
     
     /**
-     * Get table name by active version node.
+     * Get table name by active version path.
      *
      * @param path path
      * @return table name
      */
-    public static Optional<String> getTableNameByActiveVersionNode(final 
String path) {
-        Pattern pattern = Pattern.compile(getMetaDataNode() + TABLES_PATTERN + 
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE);
+    public static Optional<String> getTableNameByActiveVersionPath(final 
String path) {
+        Pattern pattern = Pattern.compile(ROOT_NODE + TABLES_PATTERN + 
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE);
         Matcher matcher = pattern.matcher(path);
         return matcher.find() ? Optional.of(matcher.group(3)) : 
Optional.empty();
     }
     
     /**
-     * Get table name.
+     * Find table name.
      *
      * @param path path
-     * @return table name
+     * @return found table name
      */
-    public static Optional<String> getTableName(final String path) {
-        Pattern pattern = Pattern.compile(getMetaDataNode() + TABLES_PATTERN + 
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
+    public static Optional<String> findTableName(final String path) {
+        Pattern pattern = Pattern.compile(ROOT_NODE + TABLES_PATTERN + 
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
         Matcher matcher = pattern.matcher(path);
         return matcher.find() ? Optional.of(matcher.group(3)) : 
Optional.empty();
     }
     
     /**
-     * Is table active version node.
+     * Is table active version path.
      *
      * @param path path
      * @return true or false
      */
-    public static boolean isTableActiveVersionNode(final String path) {
-        return Pattern.compile(getMetaDataNode() + TABLES_PATTERN + 
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
+    public static boolean isTableActiveVersionPath(final String path) {
+        return Pattern.compile(ROOT_NODE + TABLES_PATTERN + 
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
     }
     
     /**
-     * Is table node.
+     * Is table path.
      *
      * @param path path
      * @return true or false
      */
-    public static boolean isTableNode(final String path) {
-        return Pattern.compile(getMetaDataNode() + TABLES_PATTERN + 
TABLE_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
-    }
-    
-    private static String getMetaDataNode() {
-        return String.join("/", "", ROOT_NODE);
+    public static boolean isTablePath(final String path) {
+        return Pattern.compile(ROOT_NODE + TABLES_PATTERN + TABLE_SUFFIX, 
Pattern.CASE_INSENSITIVE).matcher(path).find();
     }
 }
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNode.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePath.java
similarity index 57%
rename from 
kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNode.java
rename to 
kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePath.java
index cc1c628e2da..a2c33063f12 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNode.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePath.java
@@ -25,20 +25,20 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
- * View meta data node.
+ * View meta data path.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ViewMetaDataNode {
+public final class ViewMetaDataNodePath {
     
-    private static final String ROOT_NODE = "metadata";
+    private static final String ROOT_NODE = "/metadata";
     
     private static final String SCHEMAS_NODE = "schemas";
     
     private static final String VIEWS_NODE = "views";
     
-    private static final String ACTIVE_VERSION = "active_version";
+    private static final String VERSIONS_NODE = "versions";
     
-    private static final String VERSIONS = "versions";
+    private static final String ACTIVE_VERSION_NODE = "active_version";
     
     private static final String VIEWS_PATTERN = 
"/([\\w\\-]+)/schemas/([\\w\\-]+)/views";
     
@@ -47,73 +47,73 @@ public final class ViewMetaDataNode {
     private static final String VIEW_SUFFIX = "/([\\w\\-]+)$";
     
     /**
-     * Get meta data views node.
+     * Get meta data views path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @return views path
      */
-    public static String getMetaDataViewsNode(final String databaseName, final 
String schemaName) {
-        return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE, 
schemaName, VIEWS_NODE);
+    public static String getMetaDataViewsPath(final String databaseName, final 
String schemaName) {
+        return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE, 
schemaName, VIEWS_NODE);
     }
     
     /**
-     * Get view active version node.
+     * Get view active version path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @param viewName view name
-     * @return view active version node
+     * @return view active version path
      */
-    public static String getViewActiveVersionNode(final String databaseName, 
final String schemaName, final String viewName) {
-        return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE, 
schemaName, VIEWS_NODE, viewName, ACTIVE_VERSION);
+    public static String getViewActiveVersionPath(final String databaseName, 
final String schemaName, final String viewName) {
+        return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE, 
schemaName, VIEWS_NODE, viewName, ACTIVE_VERSION_NODE);
     }
     
     /**
-     * Get view versions node.
+     * Get view versions path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @param viewName view name
-     * @return view versions node
+     * @return view versions path
      */
-    public static String getViewVersionsNode(final String databaseName, final 
String schemaName, final String viewName) {
-        return String.join("/", getMetaDataNode(), databaseName, SCHEMAS_NODE, 
schemaName, VIEWS_NODE, viewName, VERSIONS);
+    public static String getViewVersionsPath(final String databaseName, final 
String schemaName, final String viewName) {
+        return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE, 
schemaName, VIEWS_NODE, viewName, VERSIONS_NODE);
     }
     
     /**
-     * Get view version node.
+     * Get view version path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @param viewName view name
      * @param version version
-     * @return view version node
+     * @return view version path
      */
-    public static String getViewVersionNode(final String databaseName, final 
String schemaName, final String viewName, final String version) {
-        return String.join("/", getViewVersionsNode(databaseName, schemaName, 
viewName), version);
+    public static String getViewVersionPath(final String databaseName, final 
String schemaName, final String viewName, final String version) {
+        return String.join("/", getViewVersionsPath(databaseName, schemaName, 
viewName), version);
     }
     
     /**
-     * Get view node.
+     * Get view path.
      *
      * @param databaseName database name
      * @param schemaName schema name
      * @param viewName view name
-     * @return view node
+     * @return view path
      */
-    public static String getViewNode(final String databaseName, final String 
schemaName, final String viewName) {
-        return String.join("/", "", ROOT_NODE, databaseName, SCHEMAS_NODE, 
schemaName, VIEWS_NODE, viewName);
+    public static String getViewPath(final String databaseName, final String 
schemaName, final String viewName) {
+        return String.join("/", ROOT_NODE, databaseName, SCHEMAS_NODE, 
schemaName, VIEWS_NODE, viewName);
     }
     
     /**
-     * Get view name by active version node.
+     * Get view name by active version path.
      *
      * @param path path
      * @return view name
      */
-    public static Optional<String> getViewNameByActiveVersionNode(final String 
path) {
-        Pattern pattern = Pattern.compile(getMetaDataNode() + VIEWS_PATTERN + 
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE);
+    public static Optional<String> getViewNameByActiveVersionPath(final String 
path) {
+        Pattern pattern = Pattern.compile(ROOT_NODE + VIEWS_PATTERN + 
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE);
         Matcher matcher = pattern.matcher(path);
         return matcher.find() ? Optional.of(matcher.group(3)) : 
Optional.empty();
     }
@@ -124,33 +124,29 @@ public final class ViewMetaDataNode {
      * @param path path
      * @return view name
      */
-    public static Optional<String> getViewName(final String path) {
-        Pattern pattern = Pattern.compile(getMetaDataNode() + VIEWS_PATTERN + 
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
+    public static Optional<String> findViewName(final String path) {
+        Pattern pattern = Pattern.compile(ROOT_NODE + VIEWS_PATTERN + 
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
         Matcher matcher = pattern.matcher(path);
         return matcher.find() ? Optional.of(matcher.group(3)) : 
Optional.empty();
     }
     
     /**
-     * Is view active version node.
+     * Is view active version path.
      *
      * @param path path
      * @return true or false
      */
-    public static boolean isViewActiveVersionNode(final String path) {
-        return Pattern.compile(getMetaDataNode() + VIEWS_PATTERN + 
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
+    public static boolean isViewActiveVersionPath(final String path) {
+        return Pattern.compile(ROOT_NODE + VIEWS_PATTERN + 
ACTIVE_VERSION_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
     }
     
     /**
-     * Is view node.
+     * Is view path.
      *
      * @param path path
      * @return true or false
      */
-    public static boolean isViewNode(final String path) {
-        return Pattern.compile(getMetaDataNode() + VIEWS_PATTERN + 
VIEW_SUFFIX, Pattern.CASE_INSENSITIVE).matcher(path).find();
-    }
-    
-    private static String getMetaDataNode() {
-        return String.join("/", "", ROOT_NODE);
+    public static boolean isViewPath(final String path) {
+        return Pattern.compile(ROOT_NODE + VIEWS_PATTERN + VIEW_SUFFIX, 
Pattern.CASE_INSENSITIVE).matcher(path).find();
     }
 }
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/TableMetaDataPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/TableMetaDataPersistService.java
index 0bb9c6fcbf6..a9ed5251275 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/TableMetaDataPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/TableMetaDataPersistService.java
@@ -24,7 +24,7 @@ import 
org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import 
org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereTable;
 import org.apache.shardingsphere.infra.yaml.schema.swapper.YamlTableSwapper;
-import 
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNode;
+import 
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNodePath;
 import 
org.apache.shardingsphere.metadata.persist.service.version.MetaDataVersionPersistService;
 import org.apache.shardingsphere.mode.spi.PersistRepository;
 
@@ -51,7 +51,8 @@ public final class TableMetaDataPersistService {
      * @return loaded tables
      */
     public Collection<ShardingSphereTable> load(final String databaseName, 
final String schemaName) {
-        return 
repository.getChildrenKeys(TableMetaDataNode.getMetaDataTablesNode(databaseName,
 schemaName)).stream().map(each -> load(databaseName, schemaName, 
each)).collect(Collectors.toList());
+        return 
repository.getChildrenKeys(TableMetaDataNodePath.getMetaDataTablesPath(databaseName,
 schemaName)).stream()
+                .map(each -> load(databaseName, schemaName, 
each)).collect(Collectors.toList());
     }
     
     /**
@@ -63,8 +64,8 @@ public final class TableMetaDataPersistService {
      * @return loaded table
      */
     public ShardingSphereTable load(final String databaseName, final String 
schemaName, final String tableName) {
-        String tableContent = 
repository.query(TableMetaDataNode.getTableVersionNode(databaseName, 
schemaName, tableName,
-                
repository.query(TableMetaDataNode.getTableActiveVersionNode(databaseName, 
schemaName, tableName))));
+        String tableContent = 
repository.query(TableMetaDataNodePath.getTableVersionPath(databaseName, 
schemaName, tableName,
+                
repository.query(TableMetaDataNodePath.getTableActiveVersionPath(databaseName, 
schemaName, tableName))));
         return new 
YamlTableSwapper().swapToObject(YamlEngine.unmarshal(tableContent, 
YamlShardingSphereTable.class));
     }
     
@@ -79,20 +80,21 @@ public final class TableMetaDataPersistService {
         Collection<MetaDataVersion> metaDataVersions = new LinkedList<>();
         for (ShardingSphereTable each : tables) {
             String tableName = each.getName().toLowerCase();
-            List<String> versions = 
metaDataVersionPersistService.getVersions(TableMetaDataNode.getTableVersionsNode(databaseName,
 schemaName, tableName));
+            List<String> versions = 
metaDataVersionPersistService.getVersions(TableMetaDataNodePath.getTableVersionsPath(databaseName,
 schemaName, tableName));
             String nextActiveVersion = versions.isEmpty() ? 
MetaDataVersion.DEFAULT_VERSION : 
String.valueOf(Integer.parseInt(versions.get(0)) + 1);
             repository.persist(
-                    TableMetaDataNode.getTableVersionNode(databaseName, 
schemaName, tableName, nextActiveVersion), YamlEngine.marshal(new 
YamlTableSwapper().swapToYamlConfiguration(each)));
+                    TableMetaDataNodePath.getTableVersionPath(databaseName, 
schemaName, tableName, nextActiveVersion), YamlEngine.marshal(new 
YamlTableSwapper().swapToYamlConfiguration(each)));
             if (Strings.isNullOrEmpty(getActiveVersion(databaseName, 
schemaName, tableName))) {
-                
repository.persist(TableMetaDataNode.getTableActiveVersionNode(databaseName, 
schemaName, tableName), MetaDataVersion.DEFAULT_VERSION);
+                
repository.persist(TableMetaDataNodePath.getTableActiveVersionPath(databaseName,
 schemaName, tableName), MetaDataVersion.DEFAULT_VERSION);
             }
-            metaDataVersions.add(new 
MetaDataVersion(TableMetaDataNode.getTableNode(databaseName, schemaName, 
tableName), getActiveVersion(databaseName, schemaName, tableName), 
nextActiveVersion));
+            metaDataVersions
+                    .add(new 
MetaDataVersion(TableMetaDataNodePath.getTablePath(databaseName, schemaName, 
tableName), getActiveVersion(databaseName, schemaName, tableName), 
nextActiveVersion));
         }
         metaDataVersionPersistService.switchActiveVersion(metaDataVersions);
     }
     
     private String getActiveVersion(final String databaseName, final String 
schemaName, final String tableName) {
-        return 
repository.query(TableMetaDataNode.getTableActiveVersionNode(databaseName, 
schemaName, tableName));
+        return 
repository.query(TableMetaDataNodePath.getTableActiveVersionPath(databaseName, 
schemaName, tableName));
     }
     
     /**
@@ -103,7 +105,7 @@ public final class TableMetaDataPersistService {
      * @param tableName to be dropped table name
      */
     public void drop(final String databaseName, final String schemaName, final 
String tableName) {
-        repository.delete(TableMetaDataNode.getTableNode(databaseName, 
schemaName, tableName.toLowerCase()));
+        repository.delete(TableMetaDataNodePath.getTablePath(databaseName, 
schemaName, tableName.toLowerCase()));
     }
     
     /**
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/ViewMetaDataPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/ViewMetaDataPersistService.java
index 07f5c2cc937..330abc093d0 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/ViewMetaDataPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/table/ViewMetaDataPersistService.java
@@ -24,7 +24,7 @@ import 
org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereView;
 import org.apache.shardingsphere.infra.yaml.schema.swapper.YamlViewSwapper;
-import 
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNode;
+import 
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNodePath;
 import 
org.apache.shardingsphere.metadata.persist.service.version.MetaDataVersionPersistService;
 import org.apache.shardingsphere.mode.spi.PersistRepository;
 
@@ -51,7 +51,7 @@ public final class ViewMetaDataPersistService {
      * @return loaded views
      */
     public Collection<ShardingSphereView> load(final String databaseName, 
final String schemaName) {
-        return 
repository.getChildrenKeys(ViewMetaDataNode.getMetaDataViewsNode(databaseName, 
schemaName)).stream().map(each -> load(databaseName, schemaName, 
each)).collect(Collectors.toList());
+        return 
repository.getChildrenKeys(ViewMetaDataNodePath.getMetaDataViewsPath(databaseName,
 schemaName)).stream().map(each -> load(databaseName, schemaName, 
each)).collect(Collectors.toList());
     }
     
     /**
@@ -63,8 +63,8 @@ public final class ViewMetaDataPersistService {
      * @return loaded view
      */
     public ShardingSphereView load(final String databaseName, final String 
schemaName, final String viewName) {
-        String view = 
repository.query(ViewMetaDataNode.getViewVersionNode(databaseName, schemaName, 
viewName,
-                
repository.query(ViewMetaDataNode.getViewActiveVersionNode(databaseName, 
schemaName, viewName))));
+        String view = 
repository.query(ViewMetaDataNodePath.getViewVersionPath(databaseName, 
schemaName, viewName,
+                
repository.query(ViewMetaDataNodePath.getViewActiveVersionPath(databaseName, 
schemaName, viewName))));
         return new YamlViewSwapper().swapToObject(YamlEngine.unmarshal(view, 
YamlShardingSphereView.class));
     }
     
@@ -79,20 +79,20 @@ public final class ViewMetaDataPersistService {
         Collection<MetaDataVersion> metaDataVersions = new LinkedList<>();
         for (ShardingSphereView each : views) {
             String viewName = each.getName().toLowerCase();
-            List<String> versions = 
metaDataVersionPersistService.getVersions(ViewMetaDataNode.getViewVersionsNode(databaseName,
 schemaName, viewName));
+            List<String> versions = 
metaDataVersionPersistService.getVersions(ViewMetaDataNodePath.getViewVersionsPath(databaseName,
 schemaName, viewName));
             String nextActiveVersion = versions.isEmpty() ? 
MetaDataVersion.DEFAULT_VERSION : 
String.valueOf(Integer.parseInt(versions.get(0)) + 1);
-            
repository.persist(ViewMetaDataNode.getViewVersionNode(databaseName, 
schemaName, viewName, nextActiveVersion),
+            
repository.persist(ViewMetaDataNodePath.getViewVersionPath(databaseName, 
schemaName, viewName, nextActiveVersion),
                     YamlEngine.marshal(new 
YamlViewSwapper().swapToYamlConfiguration(each)));
             if (Strings.isNullOrEmpty(getActiveVersion(databaseName, 
schemaName, viewName))) {
-                
repository.persist(ViewMetaDataNode.getViewActiveVersionNode(databaseName, 
schemaName, viewName), MetaDataVersion.DEFAULT_VERSION);
+                
repository.persist(ViewMetaDataNodePath.getViewActiveVersionPath(databaseName, 
schemaName, viewName), MetaDataVersion.DEFAULT_VERSION);
             }
-            metaDataVersions.add(new 
MetaDataVersion(ViewMetaDataNode.getViewNode(databaseName, schemaName, 
viewName), getActiveVersion(databaseName, schemaName, viewName), 
nextActiveVersion));
+            metaDataVersions.add(new 
MetaDataVersion(ViewMetaDataNodePath.getViewPath(databaseName, schemaName, 
viewName), getActiveVersion(databaseName, schemaName, viewName), 
nextActiveVersion));
         }
         metaDataVersionPersistService.switchActiveVersion(metaDataVersions);
     }
     
     private String getActiveVersion(final String databaseName, final String 
schemaName, final String viewName) {
-        return 
repository.query(ViewMetaDataNode.getViewActiveVersionNode(databaseName, 
schemaName, viewName));
+        return 
repository.query(ViewMetaDataNodePath.getViewActiveVersionPath(databaseName, 
schemaName, viewName));
     }
     
     /**
@@ -103,6 +103,6 @@ public final class ViewMetaDataPersistService {
      * @param viewName view name
      */
     public void delete(final String databaseName, final String schemaName, 
final String viewName) {
-        repository.delete(ViewMetaDataNode.getViewNode(databaseName, 
schemaName, viewName.toLowerCase()));
+        repository.delete(ViewMetaDataNodePath.getViewPath(databaseName, 
schemaName, viewName.toLowerCase()));
     }
 }
diff --git 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePathTest.java
 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePathTest.java
new file mode 100644
index 00000000000..29c224d5f39
--- /dev/null
+++ 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodePathTest.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.metadata.persist.node.metadata;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Optional;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+class TableMetaDataNodePathTest {
+    
+    @Test
+    void assertGetMetaDataTablesPath() {
+        assertThat(TableMetaDataNodePath.getMetaDataTablesPath("foo_db", 
"foo_schema"), is("/metadata/foo_db/schemas/foo_schema/tables"));
+    }
+    
+    @Test
+    void assertGetTableActiveVersionPath() {
+        assertThat(TableMetaDataNodePath.getTableActiveVersionPath("foo_db", 
"foo_schema", "foo_tbl"), 
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
+    }
+    
+    @Test
+    void assertGetTableVersionsPath() {
+        assertThat(TableMetaDataNodePath.getTableVersionsPath("foo_db", 
"foo_schema", "foo_tbl"), 
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions"));
+    }
+    
+    @Test
+    void assertGetTableVersionPath() {
+        assertThat(TableMetaDataNodePath.getTableVersionPath("foo_db", 
"foo_schema", "foo_tbl", "0"), 
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions/0"));
+    }
+    
+    @Test
+    void assertGetTablePath() {
+        assertThat(TableMetaDataNodePath.getTablePath("foo_db", "foo_schema", 
"foo_tbl"), is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
+    }
+    
+    @Test
+    void assertFindTableNameByActiveVersionPath() {
+        Optional<String> actual = 
TableMetaDataNodePath.getTableNameByActiveVersionPath("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version");
+        assertTrue(actual.isPresent());
+        assertThat(actual.get(), is("foo_tbl"));
+    }
+    
+    @Test
+    void assertFindTableNameByActiveVersionPathIfNotFound() {
+        
assertFalse(TableMetaDataNodePath.getTableNameByActiveVersionPath("/xxx/foo_db/schemas/foo_schema/tables/foo_tbl/active_version").isPresent());
+    }
+    
+    @Test
+    void assertFindTableName() {
+        Optional<String> actual = 
TableMetaDataNodePath.findTableName("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl");
+        assertTrue(actual.isPresent());
+        assertThat(actual.get(), is("foo_tbl"));
+    }
+    
+    @Test
+    void assertFindTableNameIfNotFound() {
+        
assertFalse(TableMetaDataNodePath.findTableName("/xxx/foo_db/schemas/foo_schema/tables/foo_tbl").isPresent());
+    }
+    
+    @Test
+    void assertIsTableActiveVersionPath() {
+        
assertTrue(TableMetaDataNodePath.isTableActiveVersionPath("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
+    }
+    
+    @Test
+    void assertIsTablePath() {
+        
assertTrue(TableMetaDataNodePath.isTablePath("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
+    }
+}
diff --git 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodeTest.java
 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodeTest.java
deleted file mode 100644
index c63eacf8b91..00000000000
--- 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/TableMetaDataNodeTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.metadata.persist.node.metadata;
-
-import org.junit.jupiter.api.Test;
-
-import java.util.Optional;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class TableMetaDataNodeTest {
-    
-    @Test
-    void assertGetMetaDataTablesNode() {
-        assertThat(TableMetaDataNode.getMetaDataTablesNode("foo_db", 
"foo_schema"), is("/metadata/foo_db/schemas/foo_schema/tables"));
-    }
-    
-    @Test
-    void assertGetTableActiveVersionNode() {
-        assertThat(TableMetaDataNode.getTableActiveVersionNode("foo_db", 
"foo_schema", "foo_tbl"), 
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
-    }
-    
-    @Test
-    void assertGetTableVersionsNode() {
-        assertThat(TableMetaDataNode.getTableVersionsNode("foo_db", 
"foo_schema", "foo_tbl"), 
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions"));
-    }
-    
-    @Test
-    void assertGetTableVersionNode() {
-        assertThat(TableMetaDataNode.getTableVersionNode("foo_db", 
"foo_schema", "foo_tbl", "0"), 
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions/0"));
-    }
-    
-    @Test
-    void assertGetTableNode() {
-        assertThat(TableMetaDataNode.getTableNode("foo_db", "foo_schema", 
"foo_tbl"), is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
-    }
-    
-    @Test
-    void assertGetTableNameByActiveVersionNode() {
-        Optional<String> actual = 
TableMetaDataNode.getTableNameByActiveVersionNode("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version");
-        assertTrue(actual.isPresent());
-        assertThat(actual.get(), is("foo_tbl"));
-    }
-    
-    @Test
-    void assertGetTableNameByActiveVersionNodeIfNotFound() {
-        
assertFalse(TableMetaDataNode.getTableNameByActiveVersionNode("/xxx/foo_db/schemas/foo_schema/tables/foo_tbl/active_version").isPresent());
-    }
-    
-    @Test
-    void assertGetTableName() {
-        Optional<String> actual = 
TableMetaDataNode.getTableName("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl");
-        assertTrue(actual.isPresent());
-        assertThat(actual.get(), is("foo_tbl"));
-    }
-    
-    @Test
-    void assertGetTableNameIfNotFound() {
-        
assertFalse(TableMetaDataNode.getTableName("/xxx/foo_db/schemas/foo_schema/tables/foo_tbl").isPresent());
-    }
-    
-    @Test
-    void assertIsTableActiveVersionNode() {
-        
assertTrue(TableMetaDataNode.isTableActiveVersionNode("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
-    }
-    
-    @Test
-    void assertIsTableNode() {
-        
assertTrue(TableMetaDataNode.isTableNode("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
-    }
-}
diff --git 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePathTest.java
 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePathTest.java
new file mode 100644
index 00000000000..ae022f968a5
--- /dev/null
+++ 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodePathTest.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.metadata.persist.node.metadata;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Optional;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+class ViewMetaDataNodePathTest {
+    
+    @Test
+    void assertGetMetaDataViewsPath() {
+        assertThat(ViewMetaDataNodePath.getMetaDataViewsPath("foo_db", 
"foo_schema"), is("/metadata/foo_db/schemas/foo_schema/views"));
+    }
+    
+    @Test
+    void assertGetViewActiveVersionPath() {
+        assertThat(ViewMetaDataNodePath.getViewActiveVersionPath("foo_db", 
"foo_schema", "foo_view"), 
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
+    }
+    
+    @Test
+    void assertGetViewVersionsPath() {
+        assertThat(ViewMetaDataNodePath.getViewVersionsPath("foo_db", 
"foo_schema", "foo_view"), 
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions"));
+    }
+    
+    @Test
+    void assertGetViewVersionPath() {
+        assertThat(ViewMetaDataNodePath.getViewVersionPath("foo_db", 
"foo_schema", "foo_view", "0"), 
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions/0"));
+    }
+    
+    @Test
+    void assertGetViewPath() {
+        assertThat(ViewMetaDataNodePath.getViewPath("foo_db", "foo_schema", 
"foo_view"), is("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
+    }
+    
+    @Test
+    void assertGetTableNameByActiveVersionNode() {
+        Optional<String> actual = 
ViewMetaDataNodePath.getViewNameByActiveVersionPath("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version");
+        assertTrue(actual.isPresent());
+        assertThat(actual.get(), is("foo_view"));
+    }
+    
+    @Test
+    void assertGetTableNameByActiveVersionNodeIfNotFound() {
+        
assertFalse(ViewMetaDataNodePath.getViewNameByActiveVersionPath("/xxx/foo_db/schemas/foo_schema/views/foo_view/active_version").isPresent());
+    }
+    
+    @Test
+    void assertFindViewName() {
+        Optional<String> actual = 
ViewMetaDataNodePath.findViewName("/metadata/foo_db/schemas/foo_schema/views/foo_view");
+        assertTrue(actual.isPresent());
+        assertThat(actual.get(), is("foo_view"));
+    }
+    
+    @Test
+    void assertFindViewNameIfNotFound() {
+        
assertFalse(ViewMetaDataNodePath.findViewName("/xxx/foo_db/schemas/foo_schema/views/foo_view").isPresent());
+    }
+    
+    @Test
+    void assertIsViewActiveVersionPath() {
+        
assertTrue(ViewMetaDataNodePath.isViewActiveVersionPath("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
+    }
+    
+    @Test
+    void assertIsViewPath() {
+        
assertTrue(ViewMetaDataNodePath.isViewPath("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
+    }
+}
diff --git 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodeTest.java
 
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodeTest.java
deleted file mode 100644
index ad141c16bd6..00000000000
--- 
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/node/metadata/ViewMetaDataNodeTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.metadata.persist.node.metadata;
-
-import org.junit.jupiter.api.Test;
-
-import java.util.Optional;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class ViewMetaDataNodeTest {
-    
-    @Test
-    void assertGetMetaDataViewsNode() {
-        assertThat(ViewMetaDataNode.getMetaDataViewsNode("foo_db", 
"foo_schema"), is("/metadata/foo_db/schemas/foo_schema/views"));
-    }
-    
-    @Test
-    void assertGetViewActiveVersionNode() {
-        assertThat(ViewMetaDataNode.getViewActiveVersionNode("foo_db", 
"foo_schema", "foo_view"), 
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
-    }
-    
-    @Test
-    void assertGetViewVersionsNode() {
-        assertThat(ViewMetaDataNode.getViewVersionsNode("foo_db", 
"foo_schema", "foo_view"), 
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions"));
-    }
-    
-    @Test
-    void assertGetViewVersionNode() {
-        assertThat(ViewMetaDataNode.getViewVersionNode("foo_db", "foo_schema", 
"foo_view", "0"), 
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions/0"));
-    }
-    
-    @Test
-    void assertGetViewNode() {
-        assertThat(ViewMetaDataNode.getViewNode("foo_db", "foo_schema", 
"foo_view"), is("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
-    }
-    
-    @Test
-    void assertGetTableNameByActiveVersionNode() {
-        Optional<String> actual = 
ViewMetaDataNode.getViewNameByActiveVersionNode("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version");
-        assertTrue(actual.isPresent());
-        assertThat(actual.get(), is("foo_view"));
-    }
-    
-    @Test
-    void assertGetTableNameByActiveVersionNodeIfNotFound() {
-        
assertFalse(ViewMetaDataNode.getViewNameByActiveVersionNode("/xxx/foo_db/schemas/foo_schema/views/foo_view/active_version").isPresent());
-    }
-    
-    @Test
-    void assertGetViewName() {
-        Optional<String> actual = 
ViewMetaDataNode.getViewName("/metadata/foo_db/schemas/foo_schema/views/foo_view");
-        assertTrue(actual.isPresent());
-        assertThat(actual.get(), is("foo_view"));
-    }
-    
-    @Test
-    void assertGetViewNameIfNotFound() {
-        
assertFalse(ViewMetaDataNode.getViewName("/xxx/foo_db/schemas/foo_schema/views/foo_view").isPresent());
-    }
-    
-    @Test
-    void assertIsViewActiveVersionNode() {
-        
assertTrue(ViewMetaDataNode.isViewActiveVersionNode("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
-    }
-    
-    @Test
-    void assertIsViewNode() {
-        
assertTrue(ViewMetaDataNode.isViewNode("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
-    }
-}
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/MetaDataChangedHandler.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/MetaDataChangedHandler.java
index 03244aa6d89..7126140b057 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/MetaDataChangedHandler.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/MetaDataChangedHandler.java
@@ -19,8 +19,8 @@ package 
org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database
 
 import 
org.apache.shardingsphere.metadata.persist.node.DatabaseMetaDataNodePath;
 import 
org.apache.shardingsphere.metadata.persist.node.metadata.DataSourceMetaDataNodePath;
-import 
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNode;
-import 
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNode;
+import 
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNodePath;
+import 
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNodePath;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
 import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -89,25 +89,25 @@ public final class MetaDataChangedHandler {
     }
     
     private boolean isTableMetaDataChanged(final String key) {
-        return TableMetaDataNode.isTableActiveVersionNode(key) || 
TableMetaDataNode.isTableNode(key);
+        return TableMetaDataNodePath.isTableActiveVersionPath(key) || 
TableMetaDataNodePath.isTablePath(key);
     }
     
     private void handleTableChanged(final String databaseName, final String 
schemaName, final DataChangedEvent event) {
-        if ((Type.ADDED == event.getType() || Type.UPDATED == event.getType()) 
&& TableMetaDataNode.isTableActiveVersionNode(event.getKey())) {
+        if ((Type.ADDED == event.getType() || Type.UPDATED == event.getType()) 
&& TableMetaDataNodePath.isTableActiveVersionPath(event.getKey())) {
             tableChangedHandler.handleCreatedOrAltered(databaseName, 
schemaName, event);
-        } else if (Type.DELETED == event.getType() && 
TableMetaDataNode.isTableNode(event.getKey())) {
+        } else if (Type.DELETED == event.getType() && 
TableMetaDataNodePath.isTablePath(event.getKey())) {
             tableChangedHandler.handleDropped(databaseName, schemaName, event);
         }
     }
     
     private boolean isViewMetaDataChanged(final String key) {
-        return ViewMetaDataNode.isViewActiveVersionNode(key) || 
ViewMetaDataNode.isViewNode(key);
+        return ViewMetaDataNodePath.isViewActiveVersionPath(key) || 
ViewMetaDataNodePath.isViewPath(key);
     }
     
     private void handleViewChanged(final String databaseName, final String 
schemaName, final DataChangedEvent event) {
-        if ((Type.ADDED == event.getType() || Type.UPDATED == event.getType()) 
&& ViewMetaDataNode.isViewActiveVersionNode(event.getKey())) {
+        if ((Type.ADDED == event.getType() || Type.UPDATED == event.getType()) 
&& ViewMetaDataNodePath.isViewActiveVersionPath(event.getKey())) {
             viewChangedHandler.handleCreatedOrAltered(databaseName, 
schemaName, event);
-        } else if (Type.DELETED == event.getType() && 
ViewMetaDataNode.isViewNode(event.getKey())) {
+        } else if (Type.DELETED == event.getType() && 
ViewMetaDataNodePath.isViewPath(event.getKey())) {
             viewChangedHandler.handleDropped(databaseName, schemaName, event);
         }
     }
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java
index fb54416e07a..c63faa1e2d6 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/TableChangedHandler.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database
 
 import com.google.common.base.Preconditions;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import 
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNode;
+import 
org.apache.shardingsphere.metadata.persist.node.metadata.TableMetaDataNodePath;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import 
org.apache.shardingsphere.mode.metadata.refresher.ShardingSphereStatisticsRefreshEngine;
@@ -46,7 +46,7 @@ public final class TableChangedHandler {
      * @param event data changed event
      */
     public void handleCreatedOrAltered(final String databaseName, final String 
schemaName, final DataChangedEvent event) {
-        String tableName = 
TableMetaDataNode.getTableNameByActiveVersionNode(event.getKey()).orElseThrow(()
 -> new IllegalStateException("Table name not found."));
+        String tableName = 
TableMetaDataNodePath.getTableNameByActiveVersionPath(event.getKey()).orElseThrow(()
 -> new IllegalStateException("Table name not found."));
         Preconditions.checkArgument(event.getValue().equals(
                 
contextManager.getPersistServiceFacade().getMetaDataPersistService().getMetaDataVersionPersistService().getActiveVersionByFullPath(event.getKey())),
                 "Invalid active version: %s of key: %s", event.getValue(), 
event.getKey());
@@ -63,7 +63,7 @@ public final class TableChangedHandler {
      * @param event data changed event
      */
     public void handleDropped(final String databaseName, final String 
schemaName, final DataChangedEvent event) {
-        String tableName = 
TableMetaDataNode.getTableName(event.getKey()).orElseThrow(() -> new 
IllegalStateException("Table name not found."));
+        String tableName = 
TableMetaDataNodePath.findTableName(event.getKey()).orElseThrow(() -> new 
IllegalStateException("Table name not found."));
         
contextManager.getMetaDataContextManager().getSchemaMetaDataManager().alterSchema(databaseName,
 schemaName, tableName, null);
         statisticsRefreshEngine.asyncRefresh();
     }
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java
index 57ce097447a..4692fdf8905 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/metadata/ViewChangedHandler.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mode.manager.cluster.dispatch.handler.database
 
 import com.google.common.base.Preconditions;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
-import 
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNode;
+import 
org.apache.shardingsphere.metadata.persist.node.metadata.ViewMetaDataNodePath;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import 
org.apache.shardingsphere.mode.metadata.refresher.ShardingSphereStatisticsRefreshEngine;
@@ -46,7 +46,7 @@ public final class ViewChangedHandler {
      * @param event data changed event
      */
     public void handleCreatedOrAltered(final String databaseName, final String 
schemaName, final DataChangedEvent event) {
-        String viewName = 
ViewMetaDataNode.getViewNameByActiveVersionNode(event.getKey()).orElseThrow(() 
-> new IllegalStateException("View name not found."));
+        String viewName = 
ViewMetaDataNodePath.getViewNameByActiveVersionPath(event.getKey()).orElseThrow(()
 -> new IllegalStateException("View name not found."));
         Preconditions.checkArgument(event.getValue().equals(
                 
contextManager.getPersistServiceFacade().getMetaDataPersistService().getMetaDataVersionPersistService().getActiveVersionByFullPath(event.getKey())),
                 "Invalid active version: %s of key: %s", event.getValue(), 
event.getKey());
@@ -63,7 +63,7 @@ public final class ViewChangedHandler {
      * @param event data changed event
      */
     public void handleDropped(final String databaseName, final String 
schemaName, final DataChangedEvent event) {
-        String viewName = 
ViewMetaDataNode.getViewName(event.getKey()).orElseThrow(() -> new 
IllegalStateException("View name not found."));
+        String viewName = 
ViewMetaDataNodePath.findViewName(event.getKey()).orElseThrow(() -> new 
IllegalStateException("View name not found."));
         
contextManager.getMetaDataContextManager().getSchemaMetaDataManager().alterSchema(databaseName,
 schemaName, null, viewName);
         statisticsRefreshEngine.asyncRefresh();
     }

Reply via email to