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) {