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);
-    }
 }

Reply via email to