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 1b173280451 Refactor ClusterMetaDataManagerPersistService (#34531) 1b173280451 is described below commit 1b1732804517aedc07f2d22e406f8897250b4fce Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Wed Jan 29 12:33:32 2025 +0800 Refactor ClusterMetaDataManagerPersistService (#34531) --- .../service/ClusterMetaDataManagerPersistService.java | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) 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 44d313f6ee3..62e53a52b72 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 @@ -21,13 +21,11 @@ import lombok.SneakyThrows; import org.apache.shardingsphere.infra.config.rule.RuleConfiguration; import org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer; import org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties; -import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData; import org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode; import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData; 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.infra.metadata.statistics.ShardingSphereStatistics; import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion; import org.apache.shardingsphere.mode.manager.cluster.persist.coordinator.database.ClusterDatabaseListenerCoordinatorType; import org.apache.shardingsphere.mode.manager.cluster.persist.coordinator.database.ClusterDatabaseListenerPersistCoordinator; @@ -131,7 +129,7 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag @Override public void registerStorageUnits(final String databaseName, final Map<String, DataSourcePoolProperties> toBeRegisteredProps) throws SQLException { - MetaDataContexts originalMetaDataContexts = buildOriginalMetaDataContexts(); + MetaDataContexts originalMetaDataContexts = new MetaDataContexts(metaDataContextManager.getMetaDataContexts().getMetaData(), metaDataContextManager.getMetaDataContexts().getStatistics()); Map<StorageNode, DataSource> newDataSources = new HashMap<>(toBeRegisteredProps.size()); try { SwitchingResource switchingResource = metaDataContextManager.getResourceSwitchManager() @@ -149,7 +147,7 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag @Override public void alterStorageUnits(final String databaseName, final Map<String, DataSourcePoolProperties> toBeUpdatedProps) throws SQLException { - MetaDataContexts originalMetaDataContexts = buildOriginalMetaDataContexts(); + MetaDataContexts originalMetaDataContexts = new MetaDataContexts(metaDataContextManager.getMetaDataContexts().getMetaData(), metaDataContextManager.getMetaDataContexts().getStatistics()); Map<StorageNode, DataSource> newDataSources = new HashMap<>(toBeUpdatedProps.size()); try { SwitchingResource switchingResource = metaDataContextManager.getResourceSwitchManager() @@ -170,7 +168,7 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag @Override public void unregisterStorageUnits(final String databaseName, final Collection<String> toBeDroppedStorageUnitNames) throws SQLException { for (String each : getToBeDroppedResourceNames(databaseName, toBeDroppedStorageUnitNames)) { - MetaDataContexts originalMetaDataContexts = buildOriginalMetaDataContexts(); + MetaDataContexts originalMetaDataContexts = new MetaDataContexts(metaDataContextManager.getMetaDataContexts().getMetaData(), metaDataContextManager.getMetaDataContexts().getStatistics()); SwitchingResource switchingResource = metaDataContextManager.getResourceSwitchManager() .createByUnregisterStorageUnit(originalMetaDataContexts.getMetaData().getDatabase(databaseName).getResourceMetaData(), Collections.singletonList(each)); MetaDataContexts reloadMetaDataContexts = new MetaDataContextsFactory(metaDataPersistService, metaDataContextManager.getComputeNodeInstanceContext()).createBySwitchResource( @@ -224,7 +222,7 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag if (null == toBeAlteredRuleConfig) { return; } - MetaDataContexts originalMetaDataContexts = buildOriginalMetaDataContexts(); + MetaDataContexts originalMetaDataContexts = new MetaDataContexts(metaDataContextManager.getMetaDataContexts().getMetaData(), metaDataContextManager.getMetaDataContexts().getStatistics()); Collection<MetaDataVersion> metaDataVersions = metaDataPersistService.getDatabaseRulePersistService().persist(databaseName, Collections.singleton(toBeAlteredRuleConfig)); metaDataPersistService.getMetaDataVersionPersistService().switchActiveVersion(metaDataVersions); afterRuleConfigurationAltered(databaseName, originalMetaDataContexts); @@ -247,7 +245,7 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag @Override public void removeRuleConfiguration(final String databaseName, final String ruleName) { - MetaDataContexts originalMetaDataContexts = buildOriginalMetaDataContexts(); + MetaDataContexts originalMetaDataContexts = new MetaDataContexts(metaDataContextManager.getMetaDataContexts().getMetaData(), metaDataContextManager.getMetaDataContexts().getStatistics()); metaDataPersistService.getDatabaseRulePersistService().delete(databaseName, ruleName); afterRuleConfigurationDropped(databaseName, originalMetaDataContexts); } @@ -269,10 +267,4 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag public void alterProperties(final Properties props) { metaDataPersistService.getPropsService().persist(props); } - - private MetaDataContexts buildOriginalMetaDataContexts() { - ShardingSphereMetaData originalMetaData = metaDataContextManager.getMetaDataContexts().getMetaData(); - ShardingSphereStatistics originalStatistics = metaDataContextManager.getMetaDataContexts().getStatistics(); - return new MetaDataContexts(originalMetaData, originalStatistics); - } }