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 a44a9808925 Move PersistReloadDatabaseByAlter and
PersistReloadDatabaseByDrop from MetaDataPersistFacade to
DatabaseMetaDataPersistFacade (#35009)
a44a9808925 is described below
commit a44a980892581e0b326586ea63195079b4292234
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Mar 16 12:21:05 2025 +0800
Move PersistReloadDatabaseByAlter and PersistReloadDatabaseByDrop from
MetaDataPersistFacade to DatabaseMetaDataPersistFacade (#35009)
---
.../metadata/persist/MetaDataPersistFacade.java | 33 +-------
.../metadata/DatabaseMetaDataPersistFacade.java | 29 ++++++++
.../persist/MetaDataPersistServiceTest.java | 25 -------
.../DatabaseMetaDataPersistFacadeTest.java | 87 ++++++++++++++++++++++
.../DatabaseMetaDataPersistServiceTest.java | 3 +-
.../SchemaMetaDataPersistServiceTest.java | 5 +-
.../TableMetaDataPersistServiceTest.java | 3 +-
.../TableRowDataPersistServiceTest.java | 3 +-
.../ViewMetaDataPersistServiceTest.java | 3 +-
.../ClusterMetaDataManagerPersistService.java | 4 +-
.../StandaloneMetaDataManagerPersistService.java | 6 +-
...tandaloneMetaDataManagerPersistServiceTest.java | 2 +-
12 files changed, 128 insertions(+), 75 deletions(-)
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistFacade.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistFacade.java
index f4fd12ab924..be5d99b68d0 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistFacade.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistFacade.java
@@ -24,17 +24,14 @@ import
org.apache.shardingsphere.infra.config.rule.decorator.RuleConfigurationDe
import
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
import
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
-import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
-import
org.apache.shardingsphere.mode.metadata.persist.statistics.StatisticsPersistService;
import
org.apache.shardingsphere.mode.metadata.persist.config.database.DataSourceUnitPersistService;
import
org.apache.shardingsphere.mode.metadata.persist.config.database.DatabaseRulePersistService;
import
org.apache.shardingsphere.mode.metadata.persist.config.global.GlobalRulePersistService;
import
org.apache.shardingsphere.mode.metadata.persist.config.global.PropertiesPersistService;
import
org.apache.shardingsphere.mode.metadata.persist.metadata.DatabaseMetaDataPersistFacade;
+import
org.apache.shardingsphere.mode.metadata.persist.statistics.StatisticsPersistService;
import
org.apache.shardingsphere.mode.metadata.persist.version.VersionPersistService;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
@@ -136,32 +133,4 @@ public final class MetaDataPersistFacade {
return
dataSourceUnitService.load(databaseName).entrySet().stream().collect(Collectors.toMap(Entry::getKey,
entry ->
DataSourcePoolPropertiesCreator.createConfiguration(entry.getValue()),
(oldValue, currentValue) -> oldValue, LinkedHashMap::new));
}
-
- /**
- * Persist reload meta data by alter.
- *
- * @param databaseName database name
- * @param reloadDatabase reload database
- * @param currentDatabase current database
- */
- public void persistReloadDatabaseByAlter(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
- Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesDropped =
GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(reloadDatabase,
currentDatabase);
- Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesAdded =
GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(reloadDatabase,
currentDatabase);
- toBeAlteredSchemasWithTablesAdded.forEach(each ->
databaseMetaDataFacade.getSchema().alterByRuleAltered(databaseName, each));
- toBeAlteredSchemasWithTablesDropped.forEach(each ->
databaseMetaDataFacade.getTable().drop(databaseName, each.getName(),
each.getAllTables()));
- }
-
- /**
- * Persist reload meta data by drop.
- *
- * @param databaseName database name
- * @param reloadDatabase reload database
- * @param currentDatabase current database
- */
- public void persistReloadDatabaseByDrop(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
- Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesDropped =
GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(reloadDatabase,
currentDatabase);
- Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesAdded =
GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(reloadDatabase,
currentDatabase);
- toBeAlteredSchemasWithTablesAdded.forEach(each ->
databaseMetaDataFacade.getSchema().alterByRuleDropped(databaseName, each));
- toBeAlteredSchemasWithTablesDropped.forEach(each ->
databaseMetaDataFacade.getTable().drop(databaseName, each.getName(),
each.getAllTables()));
- }
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java
index 41414694067..a33bf618c67 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacade.java
@@ -20,6 +20,7 @@ package
org.apache.shardingsphere.mode.metadata.persist.metadata;
import lombok.Getter;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
@@ -53,6 +54,34 @@ public final class DatabaseMetaDataPersistFacade {
view = new ViewMetaDataPersistService(repository,
versionPersistService);
}
+ /**
+ * Persist reload meta data by alter.
+ *
+ * @param databaseName database name
+ * @param reloadDatabase reload database
+ * @param currentDatabase current database
+ */
+ public void persistReloadDatabaseByAlter(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
+ Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesDropped =
GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(reloadDatabase,
currentDatabase);
+ Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesAdded =
GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(reloadDatabase,
currentDatabase);
+ toBeAlteredSchemasWithTablesAdded.forEach(each ->
schema.alterByRuleAltered(databaseName, each));
+ toBeAlteredSchemasWithTablesDropped.forEach(each ->
table.drop(databaseName, each.getName(), each.getAllTables()));
+ }
+
+ /**
+ * Persist reload meta data by drop.
+ *
+ * @param databaseName database name
+ * @param reloadDatabase reload database
+ * @param currentDatabase current database
+ */
+ public void persistReloadDatabaseByDrop(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase) {
+ Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesDropped =
GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(reloadDatabase,
currentDatabase);
+ Collection<ShardingSphereSchema> toBeAlteredSchemasWithTablesAdded =
GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(reloadDatabase,
currentDatabase);
+ toBeAlteredSchemasWithTablesAdded.forEach(each ->
schema.alterByRuleDropped(databaseName, each));
+ toBeAlteredSchemasWithTablesDropped.forEach(each ->
table.drop(databaseName, each.getName(), each.getAllTables()));
+ }
+
/**
* Persist schema.
*
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
index e02913bbd07..3c640a779fb 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
@@ -23,10 +23,8 @@ import
org.apache.shardingsphere.infra.config.rule.decorator.RuleConfigurationDe
import
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
import
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
-import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.metadata.persist.config.database.DataSourceUnitPersistService;
@@ -53,7 +51,6 @@ import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyCollection;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
@@ -143,26 +140,4 @@ class MetaDataPersistServiceTest {
assertThat(actual.size(), is(1));
assertThat(actual.get("foo_ds"), is(dataSourceConfig));
}
-
- @Test
- void assertPersistReloadDatabaseByAlter() {
- ShardingSphereSchema toBeDeletedSchema = new
ShardingSphereSchema("to_be_deleted");
- ShardingSphereSchema toBeAddedSchema = new
ShardingSphereSchema("to_be_added");
-
when(GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(any(),
any())).thenReturn(Collections.singleton(toBeDeletedSchema));
- when(GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(any(),
any())).thenReturn(Collections.singleton(toBeAddedSchema));
- metaDataPersistFacade.persistReloadDatabaseByAlter("foo_db",
mock(ShardingSphereDatabase.class), mock(ShardingSphereDatabase.class));
-
verify(databaseMetaDataFacade.getSchema()).alterByRuleAltered("foo_db",
toBeAddedSchema);
- verify(databaseMetaDataFacade.getTable()).drop(eq("foo_db"),
eq("to_be_deleted"), anyCollection());
- }
-
- @Test
- void assertPersistReloadDatabaseByDrop() {
- ShardingSphereSchema toBeDeletedSchema = new
ShardingSphereSchema("to_be_deleted");
- ShardingSphereSchema toBeAlterSchema = new
ShardingSphereSchema("to_be_altered");
-
when(GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(any(),
any())).thenReturn(Collections.singleton(toBeDeletedSchema));
- when(GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(any(),
any())).thenReturn(Collections.singleton(toBeAlterSchema));
- metaDataPersistFacade.persistReloadDatabaseByDrop("foo_db",
mock(ShardingSphereDatabase.class), mock(ShardingSphereDatabase.class));
-
verify(databaseMetaDataFacade.getSchema()).alterByRuleDropped("foo_db",
toBeAlterSchema);
- verify(databaseMetaDataFacade.getTable()).drop(eq("foo_db"),
eq("to_be_deleted"), anyCollection());
- }
}
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacadeTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacadeTest.java
new file mode 100644
index 00000000000..6c33da549df
--- /dev/null
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistFacadeTest.java
@@ -0,0 +1,87 @@
+/*
+ * 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.mode.metadata.persist.metadata;
+
+import
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
+import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
+import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
+import
org.apache.shardingsphere.mode.metadata.persist.metadata.service.SchemaMetaDataPersistService;
+import
org.apache.shardingsphere.mode.metadata.persist.metadata.service.TableMetaDataPersistService;
+import org.apache.shardingsphere.test.mock.AutoMockExtension;
+import org.apache.shardingsphere.test.mock.StaticMockSettings;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.internal.configuration.plugins.Plugins;
+
+import java.util.Collections;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyCollection;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+@ExtendWith(AutoMockExtension.class)
+@StaticMockSettings({DataSourcePoolPropertiesCreator.class,
GenericSchemaManager.class})
+class DatabaseMetaDataPersistFacadeTest {
+
+ private DatabaseMetaDataPersistFacade databaseMetaDataFacade;
+
+ @Mock
+ private SchemaMetaDataPersistService schemaMetaDataService;
+
+ @Mock
+ private TableMetaDataPersistService tableMetaDataService;
+
+ @BeforeEach
+ void setUp() throws ReflectiveOperationException {
+ databaseMetaDataFacade = new DatabaseMetaDataPersistFacade(mock(),
mock());
+ setField("schema", schemaMetaDataService);
+ setField("table", tableMetaDataService);
+ }
+
+ private void setField(final String name, final Object value) throws
ReflectiveOperationException {
+
Plugins.getMemberAccessor().set(DatabaseMetaDataPersistFacade.class.getDeclaredField(name),
databaseMetaDataFacade, value);
+ }
+
+ @Test
+ void assertPersistReloadDatabaseByAlter() {
+ ShardingSphereSchema toBeDeletedSchema = new
ShardingSphereSchema("to_be_deleted");
+ ShardingSphereSchema toBeAddedSchema = new
ShardingSphereSchema("to_be_added");
+
when(GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(any(),
any())).thenReturn(Collections.singleton(toBeDeletedSchema));
+ when(GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(any(),
any())).thenReturn(Collections.singleton(toBeAddedSchema));
+ databaseMetaDataFacade.persistReloadDatabaseByAlter("foo_db",
mock(ShardingSphereDatabase.class), mock(ShardingSphereDatabase.class));
+ verify(schemaMetaDataService).alterByRuleAltered("foo_db",
toBeAddedSchema);
+ verify(tableMetaDataService).drop(eq("foo_db"), eq("to_be_deleted"),
anyCollection());
+ }
+
+ @Test
+ void assertPersistReloadDatabaseByDrop() {
+ ShardingSphereSchema toBeDeletedSchema = new
ShardingSphereSchema("to_be_deleted");
+ ShardingSphereSchema toBeAlterSchema = new
ShardingSphereSchema("to_be_altered");
+
when(GenericSchemaManager.getToBeAlteredSchemasWithTablesDropped(any(),
any())).thenReturn(Collections.singleton(toBeDeletedSchema));
+ when(GenericSchemaManager.getToBeAlteredSchemasWithTablesAdded(any(),
any())).thenReturn(Collections.singleton(toBeAlterSchema));
+ databaseMetaDataFacade.persistReloadDatabaseByDrop("foo_db",
mock(ShardingSphereDatabase.class), mock(ShardingSphereDatabase.class));
+ verify(schemaMetaDataService).alterByRuleDropped("foo_db",
toBeAlterSchema);
+ verify(tableMetaDataService).drop(eq("foo_db"), eq("to_be_deleted"),
anyCollection());
+ }
+}
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistServiceTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/DatabaseMetaDataPersistServiceTest.java
similarity index 95%
rename from
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistServiceTest.java
rename to
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/DatabaseMetaDataPersistServiceTest.java
index d18d7e94912..2561e2de156 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/DatabaseMetaDataPersistServiceTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/DatabaseMetaDataPersistServiceTest.java
@@ -15,9 +15,8 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.mode.metadata.persist.metadata;
+package org.apache.shardingsphere.mode.metadata.persist.metadata.service;
-import
org.apache.shardingsphere.mode.metadata.persist.metadata.service.DatabaseMetaDataPersistService;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/SchemaMetaDataPersistServiceTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistServiceTest.java
similarity index 95%
rename from
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/SchemaMetaDataPersistServiceTest.java
rename to
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistServiceTest.java
index d1b503dcaf1..7f63fcf8b23 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/SchemaMetaDataPersistServiceTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistServiceTest.java
@@ -15,14 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.mode.metadata.persist.metadata;
+package org.apache.shardingsphere.mode.metadata.persist.metadata.service;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
-import
org.apache.shardingsphere.mode.metadata.persist.metadata.service.SchemaMetaDataPersistService;
-import
org.apache.shardingsphere.mode.metadata.persist.metadata.service.TableMetaDataPersistService;
-import
org.apache.shardingsphere.mode.metadata.persist.metadata.service.ViewMetaDataPersistService;
import
org.apache.shardingsphere.mode.metadata.persist.version.VersionPersistService;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import org.junit.jupiter.api.BeforeEach;
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/TableMetaDataPersistServiceTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableMetaDataPersistServiceTest.java
similarity index 97%
rename from
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/TableMetaDataPersistServiceTest.java
rename to
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableMetaDataPersistServiceTest.java
index cf3e02173c0..74e43ef0bb3 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/TableMetaDataPersistServiceTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableMetaDataPersistServiceTest.java
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.mode.metadata.persist.metadata;
+package org.apache.shardingsphere.mode.metadata.persist.metadata.service;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import
org.apache.shardingsphere.mode.metadata.persist.metadata.service.TableMetaDataPersistService;
import
org.apache.shardingsphere.mode.metadata.persist.version.VersionPersistService;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import org.junit.jupiter.api.BeforeEach;
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/TableRowDataPersistServiceTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableRowDataPersistServiceTest.java
similarity index 97%
rename from
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/TableRowDataPersistServiceTest.java
rename to
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableRowDataPersistServiceTest.java
index 917f2d3de9b..cd26cf5aff9 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/TableRowDataPersistServiceTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableRowDataPersistServiceTest.java
@@ -15,12 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.mode.metadata.persist.metadata;
+package org.apache.shardingsphere.mode.metadata.persist.metadata.service;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.yaml.data.pojo.YamlRowStatistics;
-import
org.apache.shardingsphere.mode.metadata.persist.metadata.service.TableRowDataPersistService;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/ViewMetaDataPersistServiceTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/ViewMetaDataPersistServiceTest.java
similarity index 97%
rename from
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/ViewMetaDataPersistServiceTest.java
rename to
mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/ViewMetaDataPersistServiceTest.java
index e8630143ef3..ffb86f69734 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/ViewMetaDataPersistServiceTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/ViewMetaDataPersistServiceTest.java
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.mode.metadata.persist.metadata;
+package org.apache.shardingsphere.mode.metadata.persist.metadata.service;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
-import
org.apache.shardingsphere.mode.metadata.persist.metadata.service.ViewMetaDataPersistService;
import
org.apache.shardingsphere.mode.metadata.persist.version.VersionPersistService;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import org.junit.jupiter.api.BeforeEach;
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
index d8e6e15ca9e..7a7d7b4d6ac 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
@@ -75,7 +75,7 @@ public final class ClusterMetaDataManagerPersistService
implements MetaDataManag
MetaDataContexts originalMetaDataContexts = new
MetaDataContexts(metaDataContextManager.getMetaDataContexts().getMetaData(),
metaDataContextManager.getMetaDataContexts().getStatistics());
metaDataPersistFacade.getDatabaseMetaDataFacade().getDatabase().add(databaseName);
clusterDatabaseListenerPersistCoordinator.persist(databaseName,
ClusterDatabaseListenerCoordinatorType.CREATE);
- metaDataPersistFacade.persistReloadDatabaseByAlter(databaseName,
getReloadedMetaDataContexts(originalMetaDataContexts).getMetaData().getDatabase(databaseName),
+
metaDataPersistFacade.getDatabaseMetaDataFacade().persistReloadDatabaseByAlter(databaseName,
getReloadedMetaDataContexts(originalMetaDataContexts).getMetaData().getDatabase(databaseName),
originalMetaDataContexts.getMetaData().getDatabase(databaseName));
}
@@ -161,7 +161,7 @@ public final class ClusterMetaDataManagerPersistService
implements MetaDataManag
Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseStatistics(databaseName))
.ifPresent(optional ->
optional.getSchemaStatisticsMap().forEach((schemaName, schemaStatistics) ->
metaDataPersistFacade.getStatisticsService()
.persist(originalMetaDataContexts.getMetaData().getDatabase(databaseName),
schemaName, schemaStatistics)));
- metaDataPersistFacade.persistReloadDatabaseByAlter(databaseName,
reloadMetaDataContexts.getMetaData().getDatabase(databaseName),
+
metaDataPersistFacade.getDatabaseMetaDataFacade().persistReloadDatabaseByAlter(databaseName,
reloadMetaDataContexts.getMetaData().getDatabase(databaseName),
originalMetaDataContexts.getMetaData().getDatabase(databaseName));
}
diff --git
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
index 408b4e32f77..b0ce77d5eae 100644
---
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
+++
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
@@ -77,7 +77,7 @@ public final class StandaloneMetaDataManagerPersistService
implements MetaDataMa
MetaDataContexts originalMetaDataContexts = new
MetaDataContexts(metaDataContextManager.getMetaDataContexts().getMetaData(),
metaDataContextManager.getMetaDataContexts().getStatistics());
metaDataPersistFacade.getDatabaseMetaDataFacade().getDatabase().add(databaseName);
metaDataContextManager.getDatabaseMetaDataManager().addDatabase(databaseName);
- metaDataPersistFacade.persistReloadDatabaseByAlter(databaseName,
metaDataContextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName),
+
metaDataPersistFacade.getDatabaseMetaDataFacade().persistReloadDatabaseByAlter(databaseName,
metaDataContextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName),
originalMetaDataContexts.getMetaData().getDatabase(databaseName));
OrderedServicesCache.clearCache();
}
@@ -162,7 +162,7 @@ public final class StandaloneMetaDataManagerPersistService
implements MetaDataMa
private void afterStorageUnitsRegistered(final String databaseName, final
MetaDataContexts originalMetaDataContexts,
final Map<String,
DataSourcePoolProperties> toBeRegisteredProps) {
metaDataContextManager.getStorageUnitManager().register(databaseName,
toBeRegisteredProps);
- metaDataPersistFacade.persistReloadDatabaseByAlter(databaseName,
metaDataContextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName),
+
metaDataPersistFacade.getDatabaseMetaDataFacade().persistReloadDatabaseByAlter(databaseName,
metaDataContextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName),
originalMetaDataContexts.getMetaData().getDatabase(databaseName));
metaDataContextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules()
.forEach(each -> ((GlobalRule)
each).refresh(metaDataContextManager.getMetaDataContexts().getMetaData().getAllDatabases(),
GlobalRuleChangedType.DATABASE_CHANGED));
@@ -178,7 +178,7 @@ public final class StandaloneMetaDataManagerPersistService
implements MetaDataMa
private void afterStorageUnitsAltered(final String databaseName, final
MetaDataContexts originalMetaDataContexts, final Map<String,
DataSourcePoolProperties> toBeRegisteredProps) {
metaDataContextManager.getStorageUnitManager().alter(databaseName,
toBeRegisteredProps);
- metaDataPersistFacade.persistReloadDatabaseByAlter(databaseName,
metaDataContextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName),
+
metaDataPersistFacade.getDatabaseMetaDataFacade().persistReloadDatabaseByAlter(databaseName,
metaDataContextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName),
originalMetaDataContexts.getMetaData().getDatabase(databaseName));
metaDataContextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules()
.forEach(each -> ((GlobalRule)
each).refresh(metaDataContextManager.getMetaDataContexts().getMetaData().getAllDatabases(),
GlobalRuleChangedType.DATABASE_CHANGED));
diff --git
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
index 978a0ca72f7..ec989e647bf 100644
---
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
+++
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
@@ -85,7 +85,7 @@ class StandaloneMetaDataManagerPersistServiceTest {
metaDataManagerPersistService.createDatabase("foo_db");
verify(metaDataContextManager.getDatabaseMetaDataManager()).addDatabase("foo_db");
verify(metaDataPersistFacade.getDatabaseMetaDataFacade().getDatabase()).add("foo_db");
-
verify(metaDataPersistFacade).persistReloadDatabaseByAlter(eq("foo_db"),
any(ShardingSphereDatabase.class), any(ShardingSphereDatabase.class));
+
verify(metaDataPersistFacade.getDatabaseMetaDataFacade()).persistReloadDatabaseByAlter(eq("foo_db"),
any(ShardingSphereDatabase.class), any(ShardingSphereDatabase.class));
}
@Test