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 d1893d23d04 Refactor ResourceSwitchManager (#34419)
d1893d23d04 is described below

commit d1893d23d046eadabb98850bdf81138e180d580f
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jan 21 18:58:03 2025 +0800

    Refactor ResourceSwitchManager (#34419)
---
 .../metadata/manager/ResourceSwitchManager.java    | 24 ++++++++--------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ResourceSwitchManager.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ResourceSwitchManager.java
index 9a9f11e2056..0e446817ffe 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ResourceSwitchManager.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ResourceSwitchManager.java
@@ -41,7 +41,7 @@ import java.util.stream.Collectors;
 public final class ResourceSwitchManager {
     
     /**
-     * switch resource by register storage unit.
+     * Switch resource by register storage unit.
      *
      * @param resourceMetaData resource meta data
      * @param toBeRegisteredProps to be registered storage unit grouped data 
source pool properties map
@@ -68,7 +68,7 @@ public final class ResourceSwitchManager {
     }
     
     /**
-     * switch resource by alter storage unit.
+     * Switch resource by alter storage unit.
      *
      * @param resourceMetaData resource meta data
      * @param toBeAlteredProps to be altered data source pool properties map
@@ -103,7 +103,7 @@ public final class ResourceSwitchManager {
     }
     
     /**
-     * switch resource by unregister storage unit.
+     * Switch resource by unregister storage unit.
      *
      * @param resourceMetaData resource meta data
      * @param storageUnitNames storage unit names
@@ -114,12 +114,15 @@ public final class ResourceSwitchManager {
                 .collect(Collectors.toMap(Entry::getKey, entry -> 
entry.getValue().getDataSourcePoolProperties(), (oldValue, currentValue) -> 
oldValue, LinkedHashMap::new)));
         SwitchingResource result = new 
SwitchingResource(Collections.emptyMap(),
                 getToBeRemovedStaleDataSource(resourceMetaData, 
storageUnitNames), storageUnitNames, mergedDataSourcePoolPropertiesMap);
-        removeToBeRemovedStorageUnitNames(resourceMetaData, 
mergedDataSourcePoolPropertiesMap, storageUnitNames);
+        for (String each : storageUnitNames) {
+            mergedDataSourcePoolPropertiesMap.remove(each);
+            resourceMetaData.getStorageUnits().remove(each);
+        }
         return result;
     }
     
     /**
-     * create switching resource by unregister storage unit.
+     * Create switching resource by unregister storage unit.
      *
      * @param resourceMetaData resource meta data
      * @param storageUnitNames storage unit names
@@ -129,8 +132,7 @@ public final class ResourceSwitchManager {
         Map<String, DataSourcePoolProperties> 
mergedDataSourcePoolPropertiesMap = new 
LinkedHashMap<>(resourceMetaData.getStorageUnits().entrySet().stream()
                 .collect(Collectors.toMap(Entry::getKey, entry -> 
entry.getValue().getDataSourcePoolProperties(), (oldValue, currentValue) -> 
oldValue, LinkedHashMap::new)));
         storageUnitNames.forEach(mergedDataSourcePoolPropertiesMap::remove);
-        return new SwitchingResource(Collections.emptyMap(),
-                getToBeRemovedStaleDataSource(resourceMetaData, 
storageUnitNames), storageUnitNames, mergedDataSourcePoolPropertiesMap);
+        return new SwitchingResource(Collections.emptyMap(), 
getToBeRemovedStaleDataSource(resourceMetaData, storageUnitNames), 
storageUnitNames, mergedDataSourcePoolPropertiesMap);
     }
     
     private Map<StorageNode, DataSource> getToBeRemovedStaleDataSource(final 
ResourceMetaData resourceMetaData, final Collection<String> storageUnitNames) {
@@ -158,12 +160,4 @@ public final class ResourceSwitchManager {
     private boolean isStorageNodeInUsed(final Map<String, StorageUnit> 
reservedStorageUnits, final StorageNode storageNode) {
         return reservedStorageUnits.values().stream().anyMatch(each -> 
each.getStorageNode().equals(storageNode));
     }
-    
-    private void removeToBeRemovedStorageUnitNames(final ResourceMetaData 
resourceMetaData, final Map<String, DataSourcePoolProperties> 
dataSourcePoolPropsMap,
-                                                   final Collection<String> 
storageUnitNames) {
-        for (String each : storageUnitNames) {
-            dataSourcePoolPropsMap.remove(each);
-            resourceMetaData.getStorageUnits().remove(each);
-        }
-    }
 }

Reply via email to