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