You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/03/24 02:26:39 UTC
[shardingsphere] 01/01: Revert "Rollback ReadQueryLoadBalanceAlgorithm to ReplicaLoadBalanceAlgorithm (#24788)"
This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch revert-24788-dev
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
commit 0c51dc1812fec7ca3706236fe8d1ea39d04b46d0
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri Mar 24 10:26:31 2023 +0800
Revert "Rollback ReadQueryLoadBalanceAlgorithm to ReplicaLoadBalanceAlgorithm (#24788)"
This reverts commit 9059229564e79468f6a56dc0291d259cb229142c.
---
.../content/dev-manual/readwrite-splitting.cn.md | 8 +++---
.../content/dev-manual/readwrite-splitting.en.md | 8 +++---
...tegy.java => TransactionReadQueryStrategy.java} | 4 +--
...java => TransactionReadQueryStrategyAware.java} | 4 +--
...thm.java => ReadQueryLoadBalanceAlgorithm.java} | 4 +--
...va => RandomReadQueryLoadBalanceAlgorithm.java} | 16 ++++++------
...> RoundRobinReadQueryLoadBalanceAlgorithm.java} | 16 ++++++------
...va => WeightReadQueryLoadBalanceAlgorithm.java} | 16 ++++++------
...ReadwriteSplittingRuleConfigurationChecker.java | 20 +++++++--------
.../rule/ReadwriteSplittingDataSourceRule.java | 6 ++---
.../rule/ReadwriteSplittingRule.java | 14 +++++-----
.../TransactionReadQueryStrategyUtil.java | 6 ++---
...itesplitting.spi.ReadQueryLoadBalanceAlgorithm} | 6 ++---
...> RandomReadQueryLoadBalanceAlgorithmTest.java} | 24 ++++++++---------
...undRobinReadQueryLoadBalanceAlgorithmTest.java} | 24 ++++++++---------
...> WeightReadQueryLoadBalanceAlgorithmTest.java} | 30 +++++++++++-----------
.../rule/ReadwriteSplittingDataSourceRuleTest.java | 4 +--
.../ReadwriteSplittingRuleStatementChecker.java | 4 +--
...ReadwriteSplittingRuleStatementUpdaterTest.java | 4 +--
...iteSplittingRuleConfigurationImportChecker.java | 4 +--
20 files changed, 111 insertions(+), 111 deletions(-)
diff --git a/docs/document/content/dev-manual/readwrite-splitting.cn.md b/docs/document/content/dev-manual/readwrite-splitting.cn.md
index d4db014776f..c205da7ba56 100644
--- a/docs/document/content/dev-manual/readwrite-splitting.cn.md
+++ b/docs/document/content/dev-manual/readwrite-splitting.cn.md
@@ -9,7 +9,7 @@ chapter = true
### 全限定类名
-[`org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReadQueryLoadBalanceAlgorithm.java)
+[`org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReadQueryLoadBalanceAlgorithm.java)
### 定义
@@ -19,6 +19,6 @@ chapter = true
| *配置标识* | *详细说明* | *全限定类名* |
| ------------------------- | -------------------------------------------------------------------------------- | ---------- |
-| ROUND_ROBIN | 基于轮询的读库负载均衡算法 | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RoundRobinReplicaLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReadQueryLoadBalanceAlgorithm.java) |
-| RANDOM | 基于随机的读库负载均衡算法 | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReplicaLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReadQueryLoadBalanceAlgorithm.java) |
-| WEIGHT | 基于权重的读库负载均衡算法 | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReplicaLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithm.java) |
+| ROUND_ROBIN | 基于轮询的读库负载均衡算法 | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RoundRobinReadQueryLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReadQueryLoadBalanceAlgorithm.java) |
+| RANDOM | 基于随机的读库负载均衡算法 | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReadQueryLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReadQueryLoadBalanceAlgorithm.java) |
+| WEIGHT | 基于权重的读库负载均衡算法 | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReadQueryLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithm.java) |
diff --git a/docs/document/content/dev-manual/readwrite-splitting.en.md b/docs/document/content/dev-manual/readwrite-splitting.en.md
index 749179fc967..961af3d225f 100644
--- a/docs/document/content/dev-manual/readwrite-splitting.en.md
+++ b/docs/document/content/dev-manual/readwrite-splitting.en.md
@@ -9,7 +9,7 @@ chapter = true
### Fully-qualified class name
-[`org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReadQueryLoadBalanceAlgorithm.java)
+[`org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReadQueryLoadBalanceAlgorithm.java)
### Definition
@@ -19,6 +19,6 @@ Read query load balance algorithm's definition
| *Configuration Type* | *Description* | *Fully-qualified class name* |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
-| ROUND_ROBIN | the read database load balancer algorithm based on polling | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RoundRobinReplicaLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesp [...]
-| RANDOM | the read database load balancer algorithm based on random | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReplicaLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitt [...]
-| WEIGHT | the read database load balancer algorithm based on weight | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReplicaLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitt [...]
+| ROUND_ROBIN | the read database load balancer algorithm based on polling | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RoundRobinReadQueryLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwrite [...]
+| RANDOM | the read database load balancer algorithm based on random | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReadQueryLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritespli [...]
+| WEIGHT | the read database load balancer algorithm based on weight | [`org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReadQueryLoadBalanceAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritespli [...]
diff --git a/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionalLoadBalanceStrategy.java b/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionReadQueryStrategy.java
similarity index 91%
rename from features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionalLoadBalanceStrategy.java
rename to features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionReadQueryStrategy.java
index a0f8fbcdd11..ceb6c6cb88a 100644
--- a/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionalLoadBalanceStrategy.java
+++ b/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionReadQueryStrategy.java
@@ -18,9 +18,9 @@
package org.apache.shardingsphere.readwritesplitting.api.transaction;
/**
- * Transactional load balance strategy.
+ * Transaction read query strategy.
*/
-public enum TransactionalLoadBalanceStrategy {
+public enum TransactionReadQueryStrategy {
FIXED_PRIMARY, FIXED_REPLICA, DYNAMIC_REPLICA
}
diff --git a/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionalLoadBalanceStrategyAware.java b/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionReadQueryStrategyAware.java
similarity index 92%
rename from features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionalLoadBalanceStrategyAware.java
rename to features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionReadQueryStrategyAware.java
index 376c534bd9f..e0358eb052b 100644
--- a/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionalLoadBalanceStrategyAware.java
+++ b/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/api/transaction/TransactionReadQueryStrategyAware.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.readwritesplitting.api.transaction;
import java.util.List;
/**
- * Transactional load balance strategy aware.
+ * Transaction read query strategy aware.
*/
-public interface TransactionalLoadBalanceStrategyAware {
+public interface TransactionReadQueryStrategyAware {
String TRANSACTION_READ_QUERY_STRATEGY = "transaction-read-query-strategy";
diff --git a/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReplicaLoadBalanceAlgorithm.java b/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReadQueryLoadBalanceAlgorithm.java
similarity index 92%
rename from features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReplicaLoadBalanceAlgorithm.java
rename to features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReadQueryLoadBalanceAlgorithm.java
index 34303e91a57..92040daf39c 100644
--- a/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReplicaLoadBalanceAlgorithm.java
+++ b/features/readwrite-splitting/api/src/main/java/org/apache/shardingsphere/readwritesplitting/spi/ReadQueryLoadBalanceAlgorithm.java
@@ -23,9 +23,9 @@ import org.apache.shardingsphere.infra.util.spi.type.typed.algorithm.ShardingSph
import java.util.List;
/**
- * Replica load balance algorithm.
+ * Read query load-balance algorithm.
*/
-public interface ReplicaLoadBalanceAlgorithm extends ShardingSphereAlgorithm {
+public interface ReadQueryLoadBalanceAlgorithm extends ShardingSphereAlgorithm {
/**
* Get data source.
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReplicaLoadBalanceAlgorithm.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReadQueryLoadBalanceAlgorithm.java
similarity index 76%
rename from features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReplicaLoadBalanceAlgorithm.java
rename to features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReadQueryLoadBalanceAlgorithm.java
index b3a7f438f3f..b0400b2d397 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReplicaLoadBalanceAlgorithm.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReadQueryLoadBalanceAlgorithm.java
@@ -18,9 +18,9 @@
package org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance;
import org.apache.shardingsphere.infra.context.transaction.TransactionConnectionContext;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategy;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategyAware;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategy;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategyAware;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.readwritesplitting.transaction.TransactionReadQueryStrategyUtil;
import java.util.List;
@@ -28,21 +28,21 @@ import java.util.Properties;
import java.util.concurrent.ThreadLocalRandom;
/**
- * Random replica load balance algorithm.
+ * Random read query load-balance algorithm.
*/
-public final class RandomReplicaLoadBalanceAlgorithm implements ReplicaLoadBalanceAlgorithm, TransactionalLoadBalanceStrategyAware {
+public final class RandomReadQueryLoadBalanceAlgorithm implements ReadQueryLoadBalanceAlgorithm, TransactionReadQueryStrategyAware {
- private TransactionalLoadBalanceStrategy transactionalLoadBalanceStrategy;
+ private TransactionReadQueryStrategy transactionReadQueryStrategy;
@Override
public void init(final Properties props) {
- transactionalLoadBalanceStrategy = TransactionalLoadBalanceStrategy.valueOf(props.getProperty(TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.FIXED_PRIMARY.name()));
+ transactionReadQueryStrategy = TransactionReadQueryStrategy.valueOf(props.getProperty(TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.FIXED_PRIMARY.name()));
}
@Override
public String getDataSource(final String name, final String writeDataSourceName, final List<String> readDataSourceNames, final TransactionConnectionContext context) {
if (context.isInTransaction()) {
- return TransactionReadQueryStrategyUtil.routeInTransaction(name, writeDataSourceName, readDataSourceNames, context, transactionalLoadBalanceStrategy, this);
+ return TransactionReadQueryStrategyUtil.routeInTransaction(name, writeDataSourceName, readDataSourceNames, context, transactionReadQueryStrategy, this);
}
return getDataSourceName(name, readDataSourceNames);
}
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReplicaLoadBalanceAlgorithm.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReadQueryLoadBalanceAlgorithm.java
similarity index 77%
rename from features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReplicaLoadBalanceAlgorithm.java
rename to features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReadQueryLoadBalanceAlgorithm.java
index 99930697528..987b26ecd67 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReplicaLoadBalanceAlgorithm.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReadQueryLoadBalanceAlgorithm.java
@@ -18,9 +18,9 @@
package org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance;
import org.apache.shardingsphere.infra.context.transaction.TransactionConnectionContext;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategyAware;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategy;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategyAware;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategy;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.readwritesplitting.transaction.TransactionReadQueryStrategyUtil;
import java.util.List;
@@ -28,23 +28,23 @@ import java.util.Properties;
import java.util.concurrent.atomic.AtomicInteger;
/**
- * Round-robin replica load balance algorithm.
+ * Round-robin read query load-balance algorithm.
*/
-public final class RoundRobinReplicaLoadBalanceAlgorithm implements ReplicaLoadBalanceAlgorithm, TransactionalLoadBalanceStrategyAware {
+public final class RoundRobinReadQueryLoadBalanceAlgorithm implements ReadQueryLoadBalanceAlgorithm, TransactionReadQueryStrategyAware {
private final AtomicInteger count = new AtomicInteger(0);
- private TransactionalLoadBalanceStrategy transactionalLoadBalanceStrategy;
+ private TransactionReadQueryStrategy transactionReadQueryStrategy;
@Override
public void init(final Properties props) {
- transactionalLoadBalanceStrategy = TransactionalLoadBalanceStrategy.valueOf(props.getProperty(TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.FIXED_PRIMARY.name()));
+ transactionReadQueryStrategy = TransactionReadQueryStrategy.valueOf(props.getProperty(TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.FIXED_PRIMARY.name()));
}
@Override
public String getDataSource(final String name, final String writeDataSourceName, final List<String> readDataSourceNames, final TransactionConnectionContext context) {
if (context.isInTransaction()) {
- return TransactionReadQueryStrategyUtil.routeInTransaction(name, writeDataSourceName, readDataSourceNames, context, transactionalLoadBalanceStrategy, this);
+ return TransactionReadQueryStrategyUtil.routeInTransaction(name, writeDataSourceName, readDataSourceNames, context, transactionReadQueryStrategy, this);
}
return getDataSourceName(name, readDataSourceNames);
}
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReplicaLoadBalanceAlgorithm.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithm.java
similarity index 90%
rename from features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReplicaLoadBalanceAlgorithm.java
rename to features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithm.java
index e0db72941c9..92d2fb82fb9 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReplicaLoadBalanceAlgorithm.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithm.java
@@ -21,11 +21,11 @@ import com.google.common.base.Preconditions;
import lombok.Getter;
import org.apache.shardingsphere.infra.context.transaction.TransactionConnectionContext;
import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategyAware;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategy;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategyAware;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategy;
import org.apache.shardingsphere.readwritesplitting.exception.algorithm.InvalidReadDatabaseWeightException;
import org.apache.shardingsphere.readwritesplitting.exception.algorithm.MissingRequiredReadDatabaseWeightException;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.readwritesplitting.transaction.TransactionReadQueryStrategyUtil;
import java.util.Arrays;
@@ -38,9 +38,9 @@ import java.util.concurrent.ThreadLocalRandom;
import java.util.stream.Collectors;
/**
- * Weight replica load balance algorithm.
+ * Weight read query load-balance algorithm.
*/
-public final class WeightReplicaLoadBalanceAlgorithm implements ReplicaLoadBalanceAlgorithm, TransactionalLoadBalanceStrategyAware {
+public final class WeightReadQueryLoadBalanceAlgorithm implements ReadQueryLoadBalanceAlgorithm, TransactionReadQueryStrategyAware {
private static final double ACCURACY_THRESHOLD = 0.0001;
@@ -48,7 +48,7 @@ public final class WeightReplicaLoadBalanceAlgorithm implements ReplicaLoadBalan
private Properties props;
- private TransactionalLoadBalanceStrategy transactionalLoadBalanceStrategy;
+ private TransactionReadQueryStrategy transactionReadQueryStrategy;
@Getter
private Collection<String> dataSourceNames;
@@ -56,7 +56,7 @@ public final class WeightReplicaLoadBalanceAlgorithm implements ReplicaLoadBalan
@Override
public void init(final Properties props) {
this.props = props;
- transactionalLoadBalanceStrategy = TransactionalLoadBalanceStrategy.valueOf(props.getProperty(TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.FIXED_PRIMARY.name()));
+ transactionReadQueryStrategy = TransactionReadQueryStrategy.valueOf(props.getProperty(TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.FIXED_PRIMARY.name()));
dataSourceNames = props.containsKey(TRANSACTION_READ_QUERY_STRATEGY)
? props.stringPropertyNames().stream().filter(each -> !each.equals(TRANSACTION_READ_QUERY_STRATEGY)).collect(Collectors.toList())
: props.stringPropertyNames();
@@ -65,7 +65,7 @@ public final class WeightReplicaLoadBalanceAlgorithm implements ReplicaLoadBalan
@Override
public String getDataSource(final String name, final String writeDataSourceName, final List<String> readDataSourceNames, final TransactionConnectionContext context) {
if (context.isInTransaction()) {
- return TransactionReadQueryStrategyUtil.routeInTransaction(name, writeDataSourceName, readDataSourceNames, context, transactionalLoadBalanceStrategy, this);
+ return TransactionReadQueryStrategyUtil.routeInTransaction(name, writeDataSourceName, readDataSourceNames, context, transactionReadQueryStrategy, this);
}
return getDataSourceName(name, readDataSourceNames);
}
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 fb16255f8ef..6bb34141daf 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
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.infra.rule.identifier.type.DynamicDataSourceCon
import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
import org.apache.shardingsphere.infra.util.expr.InlineExpressionParser;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
import org.apache.shardingsphere.readwritesplitting.api.strategy.DynamicReadwriteSplittingStrategyConfiguration;
@@ -41,7 +41,7 @@ import org.apache.shardingsphere.readwritesplitting.exception.checker.MissingReq
import org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredDataSourceNameException;
import org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredReadDataSourceNamesException;
import org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredWriteDataSourceNameException;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import javax.sql.DataSource;
import java.util.ArrayList;
@@ -124,18 +124,18 @@ public final class ReadwriteSplittingRuleConfigurationChecker implements RuleCon
}
private void checkLoadBalancerDataSourceName(final String databaseName, final Collection<ReadwriteSplittingDataSourceRuleConfiguration> configs,
- final Map<String, ReplicaLoadBalanceAlgorithm> loadBalancers, final Collection<ShardingSphereRule> rules) {
+ final Map<String, ReadQueryLoadBalanceAlgorithm> loadBalancers, final Collection<ShardingSphereRule> rules) {
for (ReadwriteSplittingDataSourceRuleConfiguration each : configs) {
if (Strings.isNullOrEmpty(each.getLoadBalancerName())) {
continue;
}
- ReplicaLoadBalanceAlgorithm loadBalancer = loadBalancers.get(each.getLoadBalancerName());
+ ReadQueryLoadBalanceAlgorithm loadBalancer = loadBalancers.get(each.getLoadBalancerName());
ShardingSpherePreconditions.checkNotNull(loadBalancer, () -> new LoadBalancerAlgorithmNotFoundException(databaseName));
- if (loadBalancer instanceof WeightReplicaLoadBalanceAlgorithm) {
- ShardingSpherePreconditions.checkState(!((WeightReplicaLoadBalanceAlgorithm) loadBalancer).getDataSourceNames().isEmpty(),
+ if (loadBalancer instanceof WeightReadQueryLoadBalanceAlgorithm) {
+ ShardingSpherePreconditions.checkState(!((WeightReadQueryLoadBalanceAlgorithm) loadBalancer).getDataSourceNames().isEmpty(),
() -> new MissingRequiredReadDatabaseWeightException(loadBalancer.getType(), String.format("Read data source weight config are required in database `%s`", databaseName)));
Collection<String> dataSourceNames = getDataSourceNames(each, rules);
- ((WeightReplicaLoadBalanceAlgorithm) loadBalancer).getDataSourceNames().forEach(dataSourceName -> ShardingSpherePreconditions.checkState(dataSourceNames.contains(dataSourceName),
+ ((WeightReadQueryLoadBalanceAlgorithm) loadBalancer).getDataSourceNames().forEach(dataSourceName -> ShardingSpherePreconditions.checkState(dataSourceNames.contains(dataSourceName),
() -> new InvalidWeightLoadBalancerConfigurationException(databaseName)));
}
}
@@ -155,9 +155,9 @@ public final class ReadwriteSplittingRuleConfigurationChecker implements RuleCon
return result;
}
- private Map<String, ReplicaLoadBalanceAlgorithm> getLoadBalancer(final ReadwriteSplittingRuleConfiguration config) {
- Map<String, ReplicaLoadBalanceAlgorithm> result = new LinkedHashMap<>(config.getLoadBalancers().size(), 1);
- config.getLoadBalancers().forEach((key, value) -> result.put(key, TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, value.getType(), value.getProps())));
+ private Map<String, ReadQueryLoadBalanceAlgorithm> getLoadBalancer(final ReadwriteSplittingRuleConfiguration config) {
+ Map<String, ReadQueryLoadBalanceAlgorithm> result = new LinkedHashMap<>(config.getLoadBalancers().size(), 1);
+ config.getLoadBalancers().forEach((key, value) -> result.put(key, TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, value.getType(), value.getProps())));
return result;
}
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java
index e56a43e61d8..e9ec6dc4f78 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
import lombok.Getter;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.readwritesplitting.strategy.ReadwriteSplittingStrategy;
import org.apache.shardingsphere.readwritesplitting.strategy.ReadwriteSplittingStrategyFactory;
import org.apache.shardingsphere.readwritesplitting.strategy.type.DynamicReadwriteSplittingStrategy;
@@ -39,14 +39,14 @@ public final class ReadwriteSplittingDataSourceRule {
private final String name;
- private final ReplicaLoadBalanceAlgorithm loadBalancer;
+ private final ReadQueryLoadBalanceAlgorithm loadBalancer;
private final ReadwriteSplittingStrategy readwriteSplittingStrategy;
@Getter(AccessLevel.NONE)
private final Collection<String> disabledDataSourceNames = new HashSet<>();
- public ReadwriteSplittingDataSourceRule(final ReadwriteSplittingDataSourceRuleConfiguration config, final ReplicaLoadBalanceAlgorithm loadBalancer,
+ public ReadwriteSplittingDataSourceRule(final ReadwriteSplittingDataSourceRuleConfiguration config, final ReadQueryLoadBalanceAlgorithm loadBalancer,
final Collection<ShardingSphereRule> builtRules) {
name = config.getName();
this.loadBalancer = loadBalancer;
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
index 2527ee13ad3..e4d2740d51b 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
@@ -44,7 +44,7 @@ import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingD
import org.apache.shardingsphere.readwritesplitting.api.strategy.DynamicReadwriteSplittingStrategyConfiguration;
import org.apache.shardingsphere.readwritesplitting.api.strategy.StaticReadwriteSplittingStrategyConfiguration;
import org.apache.shardingsphere.readwritesplitting.exception.rule.InvalidInlineExpressionDataSourceNameException;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.readwritesplitting.strategy.type.DynamicReadwriteSplittingStrategy;
import org.apache.shardingsphere.readwritesplitting.strategy.type.StaticReadwriteSplittingStrategy;
@@ -67,7 +67,7 @@ public final class ReadwriteSplittingRule implements DatabaseRule, DataSourceCon
@Getter
private final RuleConfiguration configuration;
- private final Map<String, ReplicaLoadBalanceAlgorithm> loadBalancers = new LinkedHashMap<>();
+ private final Map<String, ReadQueryLoadBalanceAlgorithm> loadBalancers = new LinkedHashMap<>();
private final Map<String, ReadwriteSplittingDataSourceRule> dataSourceRules;
@@ -82,7 +82,7 @@ public final class ReadwriteSplittingRule implements DatabaseRule, DataSourceCon
if (ruleConfig.getLoadBalancers().containsKey(dataSourceRuleConfiguration.getLoadBalancerName())) {
AlgorithmConfiguration algorithmConfig = ruleConfig.getLoadBalancers().get(dataSourceRuleConfiguration.getLoadBalancerName());
loadBalancers.put(dataSourceRuleConfiguration.getName() + "." + dataSourceRuleConfiguration.getLoadBalancerName(),
- TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, algorithmConfig.getType(), algorithmConfig.getProps()));
+ TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, algorithmConfig.getType(), algorithmConfig.getProps()));
}
}
dataSourceRules = new HashMap<>(ruleConfig.getDataSources().size(), 1);
@@ -93,8 +93,8 @@ public final class ReadwriteSplittingRule implements DatabaseRule, DataSourceCon
private Map<String, ReadwriteSplittingDataSourceRule> createReadwriteSplittingDataSourceRules(final ReadwriteSplittingDataSourceRuleConfiguration config,
final Collection<ShardingSphereRule> builtRules) {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = loadBalancers.getOrDefault(
- config.getName() + "." + config.getLoadBalancerName(), TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, null));
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = loadBalancers.getOrDefault(
+ config.getName() + "." + config.getLoadBalancerName(), TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, null));
return null == config.getStaticStrategy()
? createDynamicReadwriteSplittingDataSourceRules(config, builtRules, loadBalanceAlgorithm)
: createStaticReadwriteSplittingDataSourceRules(config, builtRules, loadBalanceAlgorithm);
@@ -102,7 +102,7 @@ public final class ReadwriteSplittingRule implements DatabaseRule, DataSourceCon
private Map<String, ReadwriteSplittingDataSourceRule> createStaticReadwriteSplittingDataSourceRules(final ReadwriteSplittingDataSourceRuleConfiguration config,
final Collection<ShardingSphereRule> builtRules,
- final ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm) {
+ final ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm) {
Map<String, ReadwriteSplittingDataSourceRule> result = new LinkedHashMap<>();
List<String> inlineReadwriteDataSourceNames = new InlineExpressionParser(config.getName()).splitAndEvaluate();
List<String> inlineWriteDatasourceNames = new InlineExpressionParser(config.getStaticStrategy().getWriteDataSourceName()).splitAndEvaluate();
@@ -130,7 +130,7 @@ public final class ReadwriteSplittingRule implements DatabaseRule, DataSourceCon
private Map<String, ReadwriteSplittingDataSourceRule> createDynamicReadwriteSplittingDataSourceRules(final ReadwriteSplittingDataSourceRuleConfiguration config,
final Collection<ShardingSphereRule> builtRules,
- final ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm) {
+ final ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm) {
Map<String, ReadwriteSplittingDataSourceRule> result = new LinkedHashMap<>();
List<String> inlineReadwriteDataSourceNames = new InlineExpressionParser(config.getName()).splitAndEvaluate();
List<String> inlineAutoAwareDataSourceNames = new InlineExpressionParser(config.getDynamicStrategy().getAutoAwareDataSourceName()).splitAndEvaluate();
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/transaction/TransactionReadQueryStrategyUtil.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/transaction/TransactionReadQueryStrategyUtil.java
index f80c0fed453..3b9c9ee09b9 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/transaction/TransactionReadQueryStrategyUtil.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/transaction/TransactionReadQueryStrategyUtil.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.readwritesplitting.transaction;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.context.transaction.TransactionConnectionContext;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategy;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategyAware;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategy;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategyAware;
import java.util.List;
@@ -43,7 +43,7 @@ public final class TransactionReadQueryStrategyUtil {
* @return name of selected data source
*/
public static String routeInTransaction(final String name, final String writeDataSourceName, final List<String> readDataSourceNames, final TransactionConnectionContext context,
- final TransactionalLoadBalanceStrategy readQueryStrategy, final TransactionalLoadBalanceStrategyAware readQueryStrategyAware) {
+ final TransactionReadQueryStrategy readQueryStrategy, final TransactionReadQueryStrategyAware readQueryStrategyAware) {
switch (readQueryStrategy) {
case FIXED_REPLICA:
if (null == context.getReadWriteSplitReplicaRoute()) {
diff --git a/features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm b/features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm
similarity index 88%
rename from features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm
rename to features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm
index 568ee150ab8..7dcea8c82eb 100644
--- a/features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm
+++ b/features/readwrite-splitting/core/src/main/resources/META-INF/services/org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm
@@ -15,6 +15,6 @@
# limitations under the License.
#
-org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RoundRobinReplicaLoadBalanceAlgorithm
-org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReplicaLoadBalanceAlgorithm
-org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReplicaLoadBalanceAlgorithm
+org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RoundRobinReadQueryLoadBalanceAlgorithm
+org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReadQueryLoadBalanceAlgorithm
+org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReadQueryLoadBalanceAlgorithm
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReplicaLoadBalanceAlgorithmTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReadQueryLoadBalanceAlgorithmTest.java
similarity index 82%
rename from features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReplicaLoadBalanceAlgorithmTest.java
rename to features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReadQueryLoadBalanceAlgorithmTest.java
index f7d09042145..7e3e885b486 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReplicaLoadBalanceAlgorithmTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RandomReadQueryLoadBalanceAlgorithmTest.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance;
import org.apache.shardingsphere.infra.context.transaction.TransactionConnectionContext;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategyAware;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategy;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategyAware;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategy;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.test.util.PropertiesBuilder;
import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.jupiter.api.Test;
@@ -34,11 +34,11 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public final class RandomReplicaLoadBalanceAlgorithmTest {
+public final class RandomReadQueryLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithDefaultStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "RANDOM", new Properties());
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "RANDOM", new Properties());
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
@@ -50,7 +50,7 @@ public final class RandomReplicaLoadBalanceAlgorithmTest {
assertTrue(writeDataSourceName.contains(loadBalanceAlgorithm.getDataSource("ds", writeDataSourceName, readDataSourceNames, context)));
}
- private void assertRandomReadQueryLoadBalance(final List<String> readDataSourceNames, final ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm, final String writeDataSourceName,
+ private void assertRandomReadQueryLoadBalance(final List<String> readDataSourceNames, final ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm, final String writeDataSourceName,
final TransactionConnectionContext context) {
assertTrue(readDataSourceNames.contains(loadBalanceAlgorithm.getDataSource("ds", writeDataSourceName, readDataSourceNames, context)));
assertTrue(readDataSourceNames.contains(loadBalanceAlgorithm.getDataSource("ds", writeDataSourceName, readDataSourceNames, context)));
@@ -59,8 +59,8 @@ public final class RandomReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithFixedPrimaryStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "RANDOM",
- PropertiesBuilder.build(new Property(TransactionalLoadBalanceStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.FIXED_PRIMARY.name())));
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "RANDOM",
+ PropertiesBuilder.build(new Property(TransactionReadQueryStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.FIXED_PRIMARY.name())));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
@@ -75,8 +75,8 @@ public final class RandomReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithFixedReplicaStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "RANDOM",
- PropertiesBuilder.build(new Property(TransactionalLoadBalanceStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.FIXED_REPLICA.name())));
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "RANDOM",
+ PropertiesBuilder.build(new Property(TransactionReadQueryStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.FIXED_REPLICA.name())));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
@@ -92,8 +92,8 @@ public final class RandomReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithDynamicReplicaStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "RANDOM",
- PropertiesBuilder.build(new Property(TransactionalLoadBalanceStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.DYNAMIC_REPLICA.name())));
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "RANDOM",
+ PropertiesBuilder.build(new Property(TransactionReadQueryStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.DYNAMIC_REPLICA.name())));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReplicaLoadBalanceAlgorithmTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReadQueryLoadBalanceAlgorithmTest.java
similarity index 81%
rename from features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReplicaLoadBalanceAlgorithmTest.java
rename to features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReadQueryLoadBalanceAlgorithmTest.java
index 5947a3d6bc3..f2057cebefb 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReplicaLoadBalanceAlgorithmTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/RoundRobinReadQueryLoadBalanceAlgorithmTest.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance;
import org.apache.shardingsphere.infra.context.transaction.TransactionConnectionContext;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategyAware;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategy;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategyAware;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategy;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.test.util.PropertiesBuilder;
import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.jupiter.api.Test;
@@ -34,11 +34,11 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public final class RoundRobinReplicaLoadBalanceAlgorithmTest {
+public final class RoundRobinReadQueryLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithDefaultStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "ROUND_ROBIN", new Properties());
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "ROUND_ROBIN", new Properties());
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
@@ -48,7 +48,7 @@ public final class RoundRobinReplicaLoadBalanceAlgorithmTest {
}
private void assertRoundRobinReadQueryLoadBalance(final String writeDataSourceName, final String readDataSourceName1, final String readDataSourceName2,
- final ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm, final List<String> readDataSourceNames, final TransactionConnectionContext context) {
+ final ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm, final List<String> readDataSourceNames, final TransactionConnectionContext context) {
assertThat(loadBalanceAlgorithm.getDataSource("ds", writeDataSourceName, readDataSourceNames, context), is(readDataSourceName1));
assertThat(loadBalanceAlgorithm.getDataSource("ds", writeDataSourceName, readDataSourceNames, context), is(readDataSourceName2));
assertThat(loadBalanceAlgorithm.getDataSource("ds", writeDataSourceName, readDataSourceNames, context), is(readDataSourceName1));
@@ -57,8 +57,8 @@ public final class RoundRobinReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithFixedPrimaryStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "ROUND_ROBIN",
- PropertiesBuilder.build(new Property(TransactionalLoadBalanceStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.FIXED_PRIMARY.name())));
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "ROUND_ROBIN",
+ PropertiesBuilder.build(new Property(TransactionReadQueryStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.FIXED_PRIMARY.name())));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
@@ -72,8 +72,8 @@ public final class RoundRobinReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithFixedReplicaStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "ROUND_ROBIN",
- PropertiesBuilder.build(new Property(TransactionalLoadBalanceStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.FIXED_REPLICA.name())));
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "ROUND_ROBIN",
+ PropertiesBuilder.build(new Property(TransactionReadQueryStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.FIXED_REPLICA.name())));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
@@ -89,8 +89,8 @@ public final class RoundRobinReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithDynamicReplicaStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "ROUND_ROBIN",
- PropertiesBuilder.build(new Property(TransactionalLoadBalanceStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.DYNAMIC_REPLICA.name())));
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "ROUND_ROBIN",
+ PropertiesBuilder.build(new Property(TransactionReadQueryStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.DYNAMIC_REPLICA.name())));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReplicaLoadBalanceAlgorithmTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithmTest.java
similarity index 79%
rename from features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReplicaLoadBalanceAlgorithmTest.java
rename to features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithmTest.java
index cdfbcd15f47..ae464457ca6 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReplicaLoadBalanceAlgorithmTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/WeightReadQueryLoadBalanceAlgorithmTest.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance;
import org.apache.shardingsphere.infra.context.transaction.TransactionConnectionContext;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategyAware;
-import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalLoadBalanceStrategy;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategyAware;
+import org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionReadQueryStrategy;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.test.util.PropertiesBuilder;
import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.jupiter.api.Test;
@@ -35,17 +35,17 @@ import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public final class WeightReplicaLoadBalanceAlgorithmTest {
+public final class WeightReadQueryLoadBalanceAlgorithmTest {
@Test
public void assertGetSingleReadDataSource() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "WEIGHT", PropertiesBuilder.build(new Property("test_read_ds_1", "5")));
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "WEIGHT", PropertiesBuilder.build(new Property("test_read_ds_1", "5")));
assertThat(loadBalanceAlgorithm.getDataSource("ds", "test_write_ds", Collections.singletonList("test_read_ds_1"), new TransactionConnectionContext()), is("test_read_ds_1"));
}
@Test
public void assertGetMultipleReadDataSources() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class,
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class,
"WEIGHT", PropertiesBuilder.build(new Property("test_read_ds_1", "5"), new Property("test_read_ds_2", "5")));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
@@ -54,7 +54,7 @@ public final class WeightReplicaLoadBalanceAlgorithmTest {
assertWeightReadQueryLoadBalance(loadBalanceAlgorithm, writeDataSourceName, readDataSourceNames);
}
- private void assertWeightReadQueryLoadBalance(final ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm, final String writeDataSourceName, final List<String> readDataSourceNames) {
+ private void assertWeightReadQueryLoadBalance(final ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm, final String writeDataSourceName, final List<String> readDataSourceNames) {
assertThat(loadBalanceAlgorithm.getDataSource("ds", writeDataSourceName, readDataSourceNames, new TransactionConnectionContext()), notNullValue());
assertThat(loadBalanceAlgorithm.getDataSource("ds", writeDataSourceName, readDataSourceNames, new TransactionConnectionContext()), notNullValue());
assertThat(loadBalanceAlgorithm.getDataSource("ds", writeDataSourceName, readDataSourceNames, new TransactionConnectionContext()), notNullValue());
@@ -62,7 +62,7 @@ public final class WeightReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetReadDataSourceDefaultStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class,
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class,
"WEIGHT", PropertiesBuilder.build(new Property("test_read_ds_1", "5"), new Property("test_read_ds_2", "5")));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
@@ -76,9 +76,9 @@ public final class WeightReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithFixedPrimaryStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "WEIGHT",
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "WEIGHT",
PropertiesBuilder.build(new Property("test_read_ds_1", "5"), new Property("test_read_ds_2", "5"),
- new Property(TransactionalLoadBalanceStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.FIXED_PRIMARY.name())));
+ new Property(TransactionReadQueryStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.FIXED_PRIMARY.name())));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
@@ -92,9 +92,9 @@ public final class WeightReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithFixedReplicaStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "WEIGHT",
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "WEIGHT",
PropertiesBuilder.build(new Property("test_read_ds_1", "5"), new Property("test_read_ds_2", "5"),
- new Property(TransactionalLoadBalanceStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.FIXED_REPLICA.name())));
+ new Property(TransactionReadQueryStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.FIXED_REPLICA.name())));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
@@ -110,9 +110,9 @@ public final class WeightReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWithDynamicReplicaStrategy() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class, "WEIGHT",
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class, "WEIGHT",
PropertiesBuilder.build(new Property("test_read_ds_1", "5"), new Property("test_read_ds_2", "5"),
- new Property(TransactionalLoadBalanceStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionalLoadBalanceStrategy.DYNAMIC_REPLICA.name())));
+ new Property(TransactionReadQueryStrategyAware.TRANSACTION_READ_QUERY_STRATEGY, TransactionReadQueryStrategy.DYNAMIC_REPLICA.name())));
String writeDataSourceName = "test_write_ds";
String readDataSourceName1 = "test_read_ds_1";
String readDataSourceName2 = "test_read_ds_2";
@@ -125,7 +125,7 @@ public final class WeightReplicaLoadBalanceAlgorithmTest {
@Test
public void assertGetDataSourceWhenReadDataSourceChanged() {
- ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReplicaLoadBalanceAlgorithm.class,
+ ReadQueryLoadBalanceAlgorithm loadBalanceAlgorithm = TypedSPILoader.getService(ReadQueryLoadBalanceAlgorithm.class,
"WEIGHT", PropertiesBuilder.build(new Property("test_read_ds_1", "5"), new Property("test_read_ds_2", "5")));
loadBalanceAlgorithm.getDataSource("ds", "test_write_ds", Arrays.asList("test_read_ds_1", "test_read_ds_1"), new TransactionConnectionContext());
assertThat(loadBalanceAlgorithm.getDataSource("ds", "test_write_ds", Collections.singletonList("test_read_ds_1"), new TransactionConnectionContext()), is("test_read_ds_1"));
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRuleTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRuleTest.java
index 78b90998e37..eef414baf54 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRuleTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRuleTest.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.readwritesplitting.rule;
-import org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
import org.apache.shardingsphere.readwritesplitting.api.strategy.StaticReadwriteSplittingStrategyConfiguration;
import org.junit.jupiter.api.BeforeEach;
@@ -38,7 +38,7 @@ public final class ReadwriteSplittingDataSourceRuleTest {
readwriteSplittingDataSourceRule = new ReadwriteSplittingDataSourceRule(
new ReadwriteSplittingDataSourceRuleConfiguration("test_pr",
new StaticReadwriteSplittingStrategyConfiguration("write_ds", Arrays.asList("read_ds_0", "read_ds_1")), null, null),
- new RandomReplicaLoadBalanceAlgorithm(), Collections.emptyList());
+ new RandomReadQueryLoadBalanceAlgorithm(), Collections.emptyList());
}
@Test
diff --git a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/checker/ReadwriteSplittingRuleStatementChecker.java b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/checker/ReadwriteSplittingRuleStatementChecker.java
index cc57c4a6d17..b06b03c133c 100644
--- a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/checker/ReadwriteSplittingRuleStatementChecker.java
+++ b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/checker/ReadwriteSplittingRuleStatementChecker.java
@@ -32,7 +32,7 @@ import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
import org.apache.shardingsphere.readwritesplitting.distsql.parser.segment.ReadwriteSplittingRuleSegment;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import java.util.Collection;
import java.util.Collections;
@@ -219,6 +219,6 @@ public final class ReadwriteSplittingRuleStatementChecker {
private static void checkLoadBalancers(final Collection<ReadwriteSplittingRuleSegment> segments) {
segments.stream().map(ReadwriteSplittingRuleSegment::getLoadBalancer).filter(Objects::nonNull)
- .forEach(each -> TypedSPILoader.checkService(ReplicaLoadBalanceAlgorithm.class, each.getName(), each.getProps()));
+ .forEach(each -> TypedSPILoader.checkService(ReadQueryLoadBalanceAlgorithm.class, each.getName(), each.getProps()));
}
}
diff --git a/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleStatementUpdaterTest.java b/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleStatementUpdaterTest.java
index 18777731a7d..314d1d9e2ae 100644
--- a/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleStatementUpdaterTest.java
+++ b/features/readwrite-splitting/distsql/handler/src/test/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/CreateReadwriteSplittingRuleStatementUpdaterTest.java
@@ -32,7 +32,7 @@ import org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingD
import org.apache.shardingsphere.readwritesplitting.api.strategy.StaticReadwriteSplittingStrategyConfiguration;
import org.apache.shardingsphere.readwritesplitting.distsql.parser.segment.ReadwriteSplittingRuleSegment;
import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.CreateReadwriteSplittingRuleStatement;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import org.apache.shardingsphere.test.mock.AutoMockExtension;
import org.apache.shardingsphere.test.mock.StaticMockSettings;
import org.junit.jupiter.api.BeforeEach;
@@ -142,7 +142,7 @@ public final class CreateReadwriteSplittingRuleStatementUpdaterTest {
ExportableRule exportableRule = mock(ExportableRule.class);
when(exportableRule.getExportData()).thenReturn(Collections.singletonMap(ExportableConstants.EXPORT_DB_DISCOVERY_PRIMARY_DATA_SOURCES, Collections.singletonMap("ms_group", "ds_0")));
when(database.getRuleMetaData().findRules(ExportableRule.class)).thenReturn(Collections.singleton(exportableRule));
- when(TypedSPILoader.contains(ReplicaLoadBalanceAlgorithm.class, "TEST")).thenReturn(true);
+ when(TypedSPILoader.contains(ReadQueryLoadBalanceAlgorithm.class, "TEST")).thenReturn(true);
ReadwriteSplittingRuleSegment dynamicSegment = new ReadwriteSplittingRuleSegment("dynamic_rule", "ms_group", new AlgorithmSegment("TEST", new Properties()));
ReadwriteSplittingRuleSegment staticSegment = new ReadwriteSplittingRuleSegment("static_rule", "write_ds_0", Arrays.asList("read_ds_0", "read_ds_1"),
new AlgorithmSegment("TEST", new Properties()));
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/common/checker/ReadwriteSplittingRuleConfigurationImportChecker.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/common/checker/ReadwriteSplittingRuleConfigurationImportChecker.java
index b46e0ee8fe9..588f553c57e 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/common/checker/ReadwriteSplittingRuleConfigurationImportChecker.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/common/checker/ReadwriteSplittingRuleConfigurationImportChecker.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.rule.identifier.type.DataSourceContainedR
import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
-import org.apache.shardingsphere.readwritesplitting.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm;
import java.util.Collection;
import java.util.LinkedHashSet;
@@ -78,6 +78,6 @@ public final class ReadwriteSplittingRuleConfigurationImportChecker {
}
private void checkLoadBalancers(final ReadwriteSplittingRuleConfiguration currentRuleConfig) {
- currentRuleConfig.getLoadBalancers().values().forEach(each -> TypedSPILoader.checkService(ReplicaLoadBalanceAlgorithm.class, each.getType(), each.getProps()));
+ currentRuleConfig.getLoadBalancers().values().forEach(each -> TypedSPILoader.checkService(ReadQueryLoadBalanceAlgorithm.class, each.getType(), each.getProps()));
}
}