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 <menghaora...@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