You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by me...@apache.org on 2025/03/20 07:51:02 UTC
(shardingsphere) branch master updated: Refactor ClusterMetaDataManagerPersistService (#35043)
This is an automated email from the ASF dual-hosted git repository.
menghaoran 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 53a3963ebc5 Refactor ClusterMetaDataManagerPersistService (#35043)
53a3963ebc5 is described below
commit 53a3963ebc53f5b110155327e8a8747efc83fc40
Author: Haoran Meng <me...@gmail.com>
AuthorDate: Thu Mar 20 15:50:56 2025 +0800
Refactor ClusterMetaDataManagerPersistService (#35043)
---
.../mode/metadata/manager/rule/DatabaseRuleConfigurationManager.java | 2 +-
.../persist/service/ClusterMetaDataManagerPersistService.java | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleConfigurationManager.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleConfigurationManager.java
index 000d6cab4b8..55bf9cf0324 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleConfigurationManager.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleConfigurationManager.java
@@ -75,7 +75,7 @@ public final class DatabaseRuleConfigurationManager {
private void refreshMetadata(final String databaseName, final Collection<ShardingSphereRule> rules, final Collection<ShardingSphereRule> toBeRemovedRules) throws SQLException {
Collection<RuleConfiguration> ruleConfigs = rules.stream().map(ShardingSphereRule::getConfiguration).collect(Collectors.toList());
- metaDataContexts.update(new MetaDataContextsFactory(metaDataPersistFacade, computeNodeInstanceContext).createByAlterRule(databaseName, true, ruleConfigs, metaDataContexts));
+ metaDataContexts.update(new MetaDataContextsFactory(metaDataPersistFacade, computeNodeInstanceContext).createByAlterRule(databaseName, false, ruleConfigs, metaDataContexts));
closeOriginalRules(toBeRemovedRules);
}
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
index a9e4e651ef9..2444ae24e71 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
@@ -178,10 +178,11 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag
if (null == toBeAlteredRuleConfig) {
return;
}
- Collection<String> needReloadTables = getNeedReloadTables(database, toBeAlteredRuleConfig);
MetaDataContexts originalMetaDataContexts = new MetaDataContexts(metaDataContextManager.getMetaDataContexts().getMetaData(), metaDataContextManager.getMetaDataContexts().getStatistics());
metaDataPersistFacade.getDatabaseRuleService().persist(database.getName(), Collections.singleton(toBeAlteredRuleConfig));
- metaDataPersistFacade.getDatabaseMetaDataFacade().persistAlteredTables(database.getName(), getReloadedMetaDataContexts(originalMetaDataContexts), needReloadTables);
+ MetaDataContexts reloadMetaDataContexts = getReloadedMetaDataContexts(originalMetaDataContexts);
+ metaDataPersistFacade.getDatabaseMetaDataFacade().persistReloadDatabaseByAlter(
+ database.getName(), reloadMetaDataContexts.getMetaData().getDatabase(database.getName()), originalMetaDataContexts.getMetaData().getDatabase(database.getName()));
}
@Override