You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2024/11/30 14:36:38 UTC
(shardingsphere) branch master updated: Refactor SchemaMetaDataPersistService (#33853)
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 a5389f531f0 Refactor SchemaMetaDataPersistService (#33853)
a5389f531f0 is described below
commit a5389f531f024608f329bdd27330dd71f2a08b7e
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Nov 30 22:36:31 2024 +0800
Refactor SchemaMetaDataPersistService (#33853)
* Refactor SchemaMetaDataPersistService
* Refactor SchemaMetaDataPersistService
---
.../shardingsphere/metadata/persist/MetaDataPersistService.java | 2 +-
.../service/metadata/schema/SchemaMetaDataPersistService.java | 5 ++---
.../metadata/persist/MetaDataPersistServiceTest.java | 2 +-
.../service/metadata/schema/SchemaMetaDataPersistServiceTest.java | 4 +++-
.../cluster/persist/ClusterMetaDataManagerPersistService.java | 8 ++++----
5 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
index 602af68f127..7736249fdaf 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
@@ -165,7 +165,7 @@ public final class MetaDataPersistService {
public void persistReloadDatabaseByDrop(final String databaseName, final ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase currentDatabase) {
Map<String, ShardingSphereSchema> toBeAlterSchemas = GenericSchemaManager.getToBeDroppedTablesBySchemas(reloadDatabase.getSchemas(), currentDatabase.getSchemas());
Map<String, ShardingSphereSchema> toBeAddedSchemas = GenericSchemaManager.getToBeAddedTablesBySchemas(reloadDatabase.getSchemas(), currentDatabase.getSchemas());
- toBeAddedSchemas.forEach((key, value) -> databaseMetaDataFacade.getSchema().alterByRuleDropped(databaseName, key, value));
+ toBeAddedSchemas.forEach((key, value) -> databaseMetaDataFacade.getSchema().alterByRuleDropped(databaseName, value));
toBeAlterSchemas.forEach((key, value) -> databaseMetaDataFacade.getTable().drop(databaseName, key, value.getAllTables()));
}
}
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistService.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistService.java
index ce0cc30628b..b4fa2340d9b 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistService.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistService.java
@@ -102,11 +102,10 @@ public final class SchemaMetaDataPersistService {
* Alter schema by rule dropped.
*
* @param databaseName database name
- * @param schemaName schema name
* @param schema to be altered schema
*/
- public void alterByRuleDropped(final String databaseName, final String schemaName, final ShardingSphereSchema schema) {
- tableMetaDataPersistService.persist(databaseName, schemaName, schema.getAllTables());
+ public void alterByRuleDropped(final String databaseName, final ShardingSphereSchema schema) {
+ tableMetaDataPersistService.persist(databaseName, schema.getName(), schema.getAllTables());
}
/**
diff --git a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
index a67484567a5..6d3d2bd19e7 100644
--- a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
+++ b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
@@ -161,7 +161,7 @@ class MetaDataPersistServiceTest {
when(GenericSchemaManager.getToBeDroppedTablesBySchemas(any(), any())).thenReturn(Collections.singletonMap("to_be_deleted", toBeDeletedSchema));
when(GenericSchemaManager.getToBeAddedTablesBySchemas(any(), any())).thenReturn(Collections.singletonMap("to_be_altered", toBeAlterSchema));
metaDataPersistService.persistReloadDatabaseByDrop("foo_db", mock(ShardingSphereDatabase.class), mock(ShardingSphereDatabase.class));
- verify(databaseMetaDataFacade.getSchema()).alterByRuleDropped("foo_db", "to_be_altered", toBeAlterSchema);
+ verify(databaseMetaDataFacade.getSchema()).alterByRuleDropped("foo_db", toBeAlterSchema);
verify(databaseMetaDataFacade.getTable()).drop("foo_db", "to_be_deleted", Collections.emptyList());
}
}
diff --git a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistServiceTest.java b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistServiceTest.java
index abea1cc14cc..874868fc708 100644
--- a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistServiceTest.java
+++ b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/service/metadata/schema/SchemaMetaDataPersistServiceTest.java
@@ -143,7 +143,9 @@ class SchemaMetaDataPersistServiceTest {
@Test
void assertAlterByRefreshByDropConfiguration() {
- persistService.alterByRuleDropped("foo_db", "foo_schema", mock(ShardingSphereSchema.class));
+ ShardingSphereSchema schema = mock(ShardingSphereSchema.class);
+ when(schema.getName()).thenReturn("foo_schema");
+ persistService.alterByRuleDropped("foo_db", schema);
verify(tableMetaDataPersistService).persist(eq("foo_db"), eq("foo_schema"), anyCollection());
}
}
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistService.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistService.java
index 903d86224aa..e4acdfa08ad 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistService.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistService.java
@@ -180,8 +180,8 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag
}
private void afterStorageUnitsAltered(final String databaseName, final MetaDataContexts originalMetaDataContexts, final MetaDataContexts reloadMetaDataContexts) {
- reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getSchemas().forEach((schemaName, schema) -> metaDataPersistService.getDatabaseMetaDataFacade()
- .getSchema().alterByRuleAltered(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(), schema));
+ reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getSchemas().values().forEach(each -> metaDataPersistService.getDatabaseMetaDataFacade()
+ .getSchema().alterByRuleAltered(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(), each));
Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseData().get(databaseName))
.ifPresent(optional -> optional.getSchemaData().forEach((schemaName, schemaData) -> metaDataPersistService.getShardingSphereDataPersistService()
.persist(originalMetaDataContexts.getMetaData().getDatabases().get(databaseName.toLowerCase()), schemaName, schemaData)));
@@ -190,8 +190,8 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag
}
private void afterStorageUnitsDropped(final String databaseName, final MetaDataContexts originalMetaDataContexts, final MetaDataContexts reloadMetaDataContexts) {
- reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getSchemas().forEach((schemaName, schema) -> metaDataPersistService.getDatabaseMetaDataFacade()
- .getSchema().alterByRuleDropped(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(), schemaName, schema));
+ reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getSchemas().values().forEach(each -> metaDataPersistService.getDatabaseMetaDataFacade()
+ .getSchema().alterByRuleDropped(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(), each));
Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseData().get(databaseName))
.ifPresent(optional -> optional.getSchemaData().forEach((schemaName, schemaData) -> metaDataPersistService.getShardingSphereDataPersistService()
.persist(originalMetaDataContexts.getMetaData().getDatabases().get(databaseName.toLowerCase()), schemaName, schemaData)));