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

duanzhengqiang 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 a3babb3  Remove persist system data when create database (#16472)
a3babb3 is described below

commit a3babb372c0e65ad2f9e44234db556e762a52bcb
Author: zhaojinchao <[email protected]>
AuthorDate: Wed Mar 30 15:39:16 2022 +0800

    Remove persist system data when create database (#16472)
---
 .../org/apache/shardingsphere/mode/manager/ContextManager.java   | 9 ---------
 .../mode/metadata/persist/node/SchemaMetaDataNode.java           | 6 +++---
 .../mode/metadata/persist/node/SchemaMetaDataNodeTest.java       | 6 +++---
 .../registry/metadata/watcher/MetaDataChangedWatcher.java        | 8 ++++----
 .../coordinator/ClusterContextManagerCoordinatorTest.java        | 2 +-
 .../registry/metadata/watcher/MetaDataChangedWatcherTest.java    | 4 ++--
 6 files changed, 13 insertions(+), 22 deletions(-)

diff --git 
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
 
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index 86bae43..2ccdd65 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -143,7 +143,6 @@ public final class ContextManager implements AutoCloseable {
         
metaDataContexts.getOptimizerContext().getPlannerContexts().put(schemaName, 
OptimizerPlannerContextFactory.create(databaseMetaData));
         metaDataContexts.getMetaDataMap().put(schemaName, 
newMetaDataContexts.getMetaData(schemaName));
         metaDataContexts.getMetaDataPersistService().ifPresent(optional -> 
optional.getSchemaMetaDataService().persist(schemaName));
-        persistSystemDatabase();
         renewAllTransactionContext();
     }
     
@@ -185,14 +184,6 @@ public final class ContextManager implements AutoCloseable 
{
         
metaDataContexts.getOptimizerContext().getPlannerContexts().put(schemaName, 
OptimizerPlannerContextFactory.create(databaseMetaData));
     }
     
-    private void persistSystemDatabase() {
-        metaDataContexts.getMetaDataMap().forEach((key, value) -> 
persistSchemas(key, value.getSchemas()));
-    }
-    
-    private void persistSchemas(final String databaseName, final Map<String, 
ShardingSphereSchema> schemaMap) {
-        schemaMap.forEach((key, value) -> 
metaDataContexts.getMetaDataPersistService().ifPresent(optional -> 
optional.getSchemaMetaDataService().persist(databaseName, key, value)));
-    }
-    
     private void alterSingleTableDataNodes(final String schemaName, final 
ShardingSphereMetaData metaData, final TableMetaData changedTableMetaData) {
         if (!containsInDataNodeContainedRule(changedTableMetaData.getName(), 
metaData)) {
             refreshRules(schemaName, metaData);
diff --git 
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNode.java
 
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNode.java
index 15d27ca..2576413 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNode.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNode.java
@@ -139,10 +139,10 @@ public final class SchemaMetaDataNode {
      * @param schemaPath schema path
      * @return schema name
      */
-    public static Optional<String> getSchemaNameBySchemaPath(final String 
schemaPath) {
-        Pattern pattern = Pattern.compile(getMetaDataNodePath() + 
"/([\\w\\-]+)/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
+    public static Optional<String> getDatabaseNameBySchemaPath(final String 
schemaPath) {
+        Pattern pattern = Pattern.compile(getMetaDataNodePath() + 
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
         Matcher matcher = pattern.matcher(schemaPath);
-        return matcher.find() ? Optional.of(matcher.group(2)) : 
Optional.empty();
+        return matcher.find() ? Optional.of(matcher.group(1)) : 
Optional.empty();
     }
     
     /**
diff --git 
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNodeTest.java
 
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNodeTest.java
index 418ae14..689a25e 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNodeTest.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNodeTest.java
@@ -58,10 +58,10 @@ public class SchemaMetaDataNodeTest {
     }
 
     @Test
-    public void assertGetSchemaNameBySchemaPath() {
-        Optional<String> actualSchemaName = 
SchemaMetaDataNode.getSchemaNameBySchemaPath("/metadata/logic_db/logic_schema");
+    public void assertGetDatabaseNameBySchemaPath() {
+        Optional<String> actualSchemaName = 
SchemaMetaDataNode.getDatabaseNameBySchemaPath("/metadata/logic_db");
         assertTrue(actualSchemaName.isPresent());
-        assertThat(actualSchemaName.get(), is("logic_schema"));
+        assertThat(actualSchemaName.get(), is("logic_db"));
     }
     
     @Test
diff --git 
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
index 5580d74..318c063 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
@@ -77,7 +77,7 @@ public final class MetaDataChangedWatcher implements 
GovernanceWatcher<Governanc
     }
     
     private boolean isLogicSchemaChanged(final DataChangedEvent event) {
-        return 
SchemaMetaDataNode.getSchemaNameBySchemaPath(event.getKey()).isPresent();
+        return 
SchemaMetaDataNode.getDatabaseNameBySchemaPath(event.getKey()).isPresent();
     }
     
     private boolean isTableMetaDataChanged(final DataChangedEvent event) {
@@ -85,12 +85,12 @@ public final class MetaDataChangedWatcher implements 
GovernanceWatcher<Governanc
     }
     
     private Optional<GovernanceEvent> buildLogicSchemaChangedEvent(final 
DataChangedEvent event) {
-        String schemaName = 
SchemaMetaDataNode.getSchemaNameBySchemaPath(event.getKey()).get();
+        String databaseName = 
SchemaMetaDataNode.getDatabaseNameBySchemaPath(event.getKey()).get();
         if (DataChangedEvent.Type.ADDED == event.getType() || 
DataChangedEvent.Type.UPDATED == event.getType()) {
-            return Optional.of(new SchemaAddedEvent(schemaName));
+            return Optional.of(new SchemaAddedEvent(databaseName));
         }
         if (DataChangedEvent.Type.DELETED == event.getType()) {
-            return Optional.of(new SchemaDeletedEvent(schemaName));
+            return Optional.of(new SchemaDeletedEvent(databaseName));
         }
         return Optional.empty();
     }
diff --git 
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
index 8199a28..95854f2 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
@@ -194,7 +194,7 @@ public final class ClusterContextManagerCoordinatorTest {
     
     @Test
     public void assertDisableStateChanged() {
-        final StatusContainedRule statusContainedRule = 
mock(StatusContainedRule.class);
+        StatusContainedRule statusContainedRule = 
mock(StatusContainedRule.class);
         
when(metaData.getRuleMetaData().getRules()).thenReturn(Collections.singletonList(statusContainedRule));
         DisabledStateChangedEvent event = new DisabledStateChangedEvent(new 
QualifiedSchema("schema.readwrite_ds.ds_0"), true);
         coordinator.renew(event);
diff --git 
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcherTest.java
 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcherTest.java
index 0bc69e1..0f1cf5f 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcherTest.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcherTest.java
@@ -48,7 +48,7 @@ public final class MetaDataChangedWatcherTest {
     
     @Test
     public void assertCreateAddedEvent() {
-        String key = "/metadata/sharding_db/sharding_schema";
+        String key = "/metadata/sharding_db";
         String value = "encrypt_db";
         Optional<GovernanceEvent> actual = createEvent(key, value, 
Type.UPDATED);
         assertTrue(actual.isPresent());
@@ -67,7 +67,7 @@ public final class MetaDataChangedWatcherTest {
     
     @Test
     public void assertCreateDeletedEvent() {
-        String key = "/metadata/sharding_db/sharding_schema";
+        String key = "/metadata/sharding_db";
         String value = "encrypt_db";
         Optional<GovernanceEvent> actual = createEvent(key, value, 
Type.DELETED);
         assertTrue(actual.isPresent());

Reply via email to