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 2993864dc3c Refactor StorageUnitManager (#34552)
2993864dc3c is described below

commit 2993864dc3c1c0ce2b67017e6032883d463b5139
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Feb 1 18:29:01 2025 +0800

    Refactor StorageUnitManager (#34552)
---
 .../mode/metadata/manager/resource/StorageUnitManager.java       | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/resource/StorageUnitManager.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/resource/StorageUnitManager.java
index 845304e07ec..176ffac1524 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/resource/StorageUnitManager.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/resource/StorageUnitManager.java
@@ -60,7 +60,8 @@ public final class StorageUnitManager {
         ShardingSphereDatabase database = 
metaDataContexts.getMetaData().getDatabase(databaseName);
         try {
             closeStaleRules(database);
-            buildNewMetaDataContext(databaseName, 
resourceSwitchManager.switchByRegisterStorageUnit(database.getResourceMetaData(),
 propsMap));
+            SwitchingResource switchingResource = 
resourceSwitchManager.switchByRegisterStorageUnit(database.getResourceMetaData(),
 propsMap);
+            buildNewMetaDataContext(databaseName, switchingResource);
         } catch (final SQLException ex) {
             log.error("Alter database: {} register storage unit failed.", 
databaseName, ex);
         }
@@ -76,7 +77,8 @@ public final class StorageUnitManager {
         ShardingSphereDatabase database = 
metaDataContexts.getMetaData().getDatabase(databaseName);
         try {
             closeStaleRules(database);
-            buildNewMetaDataContext(databaseName, 
resourceSwitchManager.switchByAlterStorageUnit(database.getResourceMetaData(), 
propsMap));
+            SwitchingResource switchingResource = 
resourceSwitchManager.switchByAlterStorageUnit(database.getResourceMetaData(), 
propsMap);
+            buildNewMetaDataContext(databaseName, switchingResource);
         } catch (final SQLException ex) {
             log.error("Alter database: {} alter storage unit failed.", 
databaseName, ex);
         }
@@ -92,7 +94,8 @@ public final class StorageUnitManager {
         ShardingSphereDatabase database = 
metaDataContexts.getMetaData().getDatabase(databaseName);
         try {
             closeStaleRules(database);
-            buildNewMetaDataContext(databaseName, 
resourceSwitchManager.switchByUnregisterStorageUnit(database.getResourceMetaData(),
 Collections.singleton(storageUnitName)));
+            SwitchingResource switchingResource = 
resourceSwitchManager.switchByUnregisterStorageUnit(database.getResourceMetaData(),
 Collections.singleton(storageUnitName));
+            buildNewMetaDataContext(databaseName, switchingResource);
         } catch (final SQLException ex) {
             log.error("Alter database: {} register storage unit failed.", 
databaseName, ex);
         }

Reply via email to