This is an automated email from the ASF dual-hosted git repository.

zhaojinchao 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 c6cf11fe4eb Fix read-write splitting rule changed subscriber (#26638)
c6cf11fe4eb is described below

commit c6cf11fe4ebc95a3783ae003bf59be1b2db28a46
Author: ChenJiaHao <[email protected]>
AuthorDate: Tue Jun 27 21:51:06 2023 +0800

    Fix read-write splitting rule changed subscriber (#26638)
---
 .../checker/ReadwriteSplittingRuleConfigurationChecker.java           | 4 +---
 .../subscriber/ReadwriteSplittingDataSourceSubscriber.java            | 4 ++--
 .../subscriber/ReadwriteSplittingLoadBalanceSubscriber.java           | 4 ++--
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
index 6ce4f172be6..88d80249679 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
@@ -17,13 +17,12 @@
 
 package org.apache.shardingsphere.readwritesplitting.checker;
 
-import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.infra.config.rule.checker.RuleConfigurationChecker;
+import org.apache.shardingsphere.infra.expr.core.InlineExpressionParserFactory;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import 
org.apache.shardingsphere.infra.rule.identifier.type.DataSourceContainedRule;
 import 
org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
-import org.apache.shardingsphere.infra.expr.core.InlineExpressionParserFactory;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 import 
org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReadQueryLoadBalanceAlgorithm;
 import 
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
@@ -53,7 +52,6 @@ public final class ReadwriteSplittingRuleConfigurationChecker 
implements RuleCon
     @Override
     public void check(final String databaseName, final 
ReadwriteSplittingRuleConfiguration config, final Map<String, DataSource> 
dataSourceMap, final Collection<ShardingSphereRule> builtRules) {
         Collection<ReadwriteSplittingDataSourceRuleConfiguration> configs = 
config.getDataSources();
-        Preconditions.checkArgument(!configs.isEmpty(), "Readwrite-splitting 
data source rules can not be empty.");
         checkDataSources(databaseName, configs, dataSourceMap, builtRules);
         checkLoadBalancerDataSourceName(databaseName, configs, 
getLoadBalancer(config));
     }
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
index 1213a9e738b..adc441d82b4 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceSubscriber.java
@@ -36,7 +36,7 @@ import 
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;
 import 
org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration;
 
 import java.util.Collection;
-import java.util.Collections;
+import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.Optional;
 
@@ -109,7 +109,7 @@ public final class ReadwriteSplittingDataSourceSubscriber 
implements RuleChanged
         }
         Collection<ReadwriteSplittingDataSourceRuleConfiguration> 
dataSourceConfigs = new LinkedList<>();
         dataSourceConfigs.add(needToAddedConfig);
-        return new ReadwriteSplittingRuleConfiguration(dataSourceConfigs, 
Collections.emptyMap());
+        return new ReadwriteSplittingRuleConfiguration(dataSourceConfigs, new 
LinkedHashMap<>());
     }
     
     private ReadwriteSplittingRuleConfiguration getConfig(final 
ReadwriteSplittingRuleConfiguration result, final 
ReadwriteSplittingDataSourceRuleConfiguration dataSourceRuleConfig) {
diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
index fd4fa9503cd..56c06085603 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalanceSubscriber.java
@@ -33,8 +33,8 @@ import 
org.apache.shardingsphere.readwritesplitting.event.loadbalance.AlterLoadB
 import 
org.apache.shardingsphere.readwritesplitting.event.loadbalance.DeleteLoadBalanceEvent;
 import 
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;
 
-import java.util.Collections;
 import java.util.LinkedHashMap;
+import java.util.LinkedList;
 import java.util.Map;
 import java.util.Optional;
 
@@ -88,7 +88,7 @@ public final class ReadwriteSplittingLoadBalanceSubscriber 
implements RuleChange
         }
         Map<String, AlgorithmConfiguration> loadBalancers = new 
LinkedHashMap<>();
         loadBalancers.put(loadBalanceName, needToAltered);
-        return new 
ReadwriteSplittingRuleConfiguration(Collections.emptyList(), loadBalancers);
+        return new ReadwriteSplittingRuleConfiguration(new LinkedList<>(), 
loadBalancers);
     }
     
     private ReadwriteSplittingRuleConfiguration getConfig(final 
ReadwriteSplittingRuleConfiguration result, final String loadBalanceName, final 
AlgorithmConfiguration needToAltered) {

Reply via email to