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 2022/04/25 10:51:32 UTC
[shardingsphere] branch master updated: In-memory RuleConfiguration not change when scaling job not finished. (#17088)
This is an automated email from the ASF dual-hosted git repository.
zhonghongsheng 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 c2ae7f78490 In-memory RuleConfiguration not change when scaling job not finished. (#17088)
c2ae7f78490 is described below
commit c2ae7f784904c2a5b90807321971bf18477c5284
Author: zhaojinchao <zh...@apache.org>
AuthorDate: Mon Apr 25 18:51:22 2022 +0800
In-memory RuleConfiguration not change when scaling job not finished. (#17088)
---
.../preprocess/AlterShardingTableRuleStatementPreprocessor.java | 8 ++++----
.../text/distsql/rdl/rule/RuleDefinitionBackendHandler.java | 1 -
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/preprocess/AlterShardingTableRuleStatementPreprocessor.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/preprocess/AlterShardingTableRuleStatementPrepro [...]
index b6001805525..e7429ee305a 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/preprocess/AlterShardingTableRuleStatementPreprocessor.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/preprocess/AlterShardingTableRuleStatementPreprocessor.java
@@ -29,16 +29,16 @@ public final class AlterShardingTableRuleStatementPreprocessor implements RuleDe
@Override
public ShardingRuleConfiguration preprocess(final ShardingRuleConfiguration currentRuleConfig, final ShardingRuleConfiguration toBeAlteredRuleConfig) {
ShardingRuleConfiguration result = new ShardingRuleConfiguration();
- result.setShardingAlgorithms(currentRuleConfig.getShardingAlgorithms());
- result.setAutoTables(currentRuleConfig.getAutoTables());
+ result.setShardingAlgorithms(toBeAlteredRuleConfig.getShardingAlgorithms());
+ result.setAutoTables(toBeAlteredRuleConfig.getAutoTables());
result.setDefaultShardingColumn(currentRuleConfig.getDefaultShardingColumn());
result.setDefaultTableShardingStrategy(currentRuleConfig.getDefaultTableShardingStrategy());
result.setBindingTableGroups(currentRuleConfig.getBindingTableGroups());
result.setDefaultDatabaseShardingStrategy(currentRuleConfig.getDefaultDatabaseShardingStrategy());
- result.setTables(currentRuleConfig.getTables());
+ result.setTables(toBeAlteredRuleConfig.getTables());
result.setBroadcastTables(currentRuleConfig.getBroadcastTables());
result.setDefaultKeyGenerateStrategy(currentRuleConfig.getDefaultKeyGenerateStrategy());
- result.setKeyGenerators(currentRuleConfig.getKeyGenerators());
+ result.setKeyGenerators(toBeAlteredRuleConfig.getKeyGenerators());
result.setScalingName(currentRuleConfig.getScalingName());
result.setScaling(currentRuleConfig.getScaling());
return result;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/RuleDefinitionBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/RuleDefinitionBackendHandler.java
index 545401682f1..5bc49383778 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/RuleDefinitionBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/RuleDefinitionBackendHandler.java
@@ -169,7 +169,6 @@ public final class RuleDefinitionBackendHandler<T extends RuleDefinitionStatemen
final RuleDefinitionAlterPreprocessor preprocessor) {
RuleConfiguration toBeAlteredRuleConfig = updater.buildToBeAlteredRuleConfiguration(sqlStatement);
RuleConfiguration alteredRuleConfig = preprocessor.preprocess(currentRuleConfig, toBeAlteredRuleConfig);
- updater.updateCurrentRuleConfiguration(alteredRuleConfig, toBeAlteredRuleConfig);
Collection<RuleConfiguration> result = new LinkedList<>(shardingSphereMetaData.getRuleMetaData().getConfigurations());
result.remove(currentRuleConfig);
result.add(alteredRuleConfig);