This is an automated email from the ASF dual-hosted git repository.
yx9o 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 bffc2b95856 Extract DatabaseRuleConfigurationManager from
ConfigurationManager (#32070)
bffc2b95856 is described below
commit bffc2b9585657b07117158b570bfcb5afd4064b2
Author: Haoran Meng <[email protected]>
AuthorDate: Fri Jul 12 11:55:09 2024 +0800
Extract DatabaseRuleConfigurationManager from ConfigurationManager (#32070)
* Extract DatabaseRuleConfigurationManager from ConfigurationManager
* fix checkstyle
---
.../mode/metadata/MetaDataContextManager.java | 6 +-
.../metadata/manager/ConfigurationManager.java | 75 -------------
....java => DatabaseRuleConfigurationManager.java} | 123 ++-------------------
.../mode/metadata/manager/RuleItemManager.java | 10 +-
.../StandaloneMetaDataManagerPersistService.java | 2 +-
5 files changed, 18 insertions(+), 198 deletions(-)
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
index 9744129b548..c75242e1c9a 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
@@ -23,6 +23,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
import org.apache.shardingsphere.metadata.persist.MetaDataPersistService;
import org.apache.shardingsphere.mode.metadata.manager.ConfigurationManager;
+import
org.apache.shardingsphere.mode.metadata.manager.DatabaseRuleConfigurationManager;
import org.apache.shardingsphere.mode.metadata.manager.SchemaMetaDataManager;
import org.apache.shardingsphere.mode.metadata.manager.ResourceSwitchManager;
import org.apache.shardingsphere.mode.metadata.manager.RuleItemManager;
@@ -54,15 +55,18 @@ public class MetaDataContextManager {
private final StorageUnitManager storageUnitManager;
+ private final DatabaseRuleConfigurationManager
databaseRuleConfigurationManager;
+
public MetaDataContextManager(final AtomicReference<MetaDataContexts>
metaDataContexts, final ComputeNodeInstanceContext computeNodeInstanceContext,
final PersistRepository repository) {
this.metaDataContexts = metaDataContexts;
resourceSwitchManager = new ResourceSwitchManager();
databaseManager = new
ShardingSphereDatabaseDataManager(metaDataContexts);
storageUnitManager = new StorageUnitManager(metaDataContexts,
computeNodeInstanceContext, repository, resourceSwitchManager);
+ databaseRuleConfigurationManager = new
DatabaseRuleConfigurationManager(metaDataContexts, computeNodeInstanceContext,
repository);
configurationManager = new ConfigurationManager(metaDataContexts,
computeNodeInstanceContext, repository);
schemaMetaDataManager = new SchemaMetaDataManager(metaDataContexts,
repository);
- ruleItemManager = new RuleItemManager(metaDataContexts, repository,
configurationManager);
+ ruleItemManager = new RuleItemManager(metaDataContexts, repository,
databaseRuleConfigurationManager);
metaDataPersistService = new MetaDataPersistService(repository);
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ConfigurationManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ConfigurationManager.java
index 527a11b52a0..78d100e9f91 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ConfigurationManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ConfigurationManager.java
@@ -23,7 +23,6 @@ import
org.apache.shardingsphere.infra.config.database.DatabaseConfiguration;
import
org.apache.shardingsphere.infra.config.database.impl.DataSourceProvidedDatabaseConfiguration;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import
org.apache.shardingsphere.infra.config.rule.scope.DatabaseRuleConfiguration;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
@@ -34,9 +33,7 @@ import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUn
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.rule.PartialRuleUpdateSupported;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import
org.apache.shardingsphere.infra.rule.builder.database.DatabaseRulesBuilder;
import org.apache.shardingsphere.infra.rule.builder.global.GlobalRulesBuilder;
import
org.apache.shardingsphere.infra.yaml.config.pojo.rule.YamlRuleConfiguration;
import
org.apache.shardingsphere.infra.yaml.config.swapper.rule.YamlRuleConfigurationSwapperEngine;
@@ -81,72 +78,6 @@ public final class ConfigurationManager {
metaDataPersistService = new MetaDataPersistService(repository);
}
- /**
- * Alter rule configuration.
- *
- * @param databaseName database name
- * @param ruleConfig rule configurations
- */
- @SuppressWarnings({"unchecked", "rawtypes"})
- public synchronized void alterRuleConfiguration(final String databaseName,
final RuleConfiguration ruleConfig) {
- ShardingSphereDatabase database =
metaDataContexts.get().getMetaData().getDatabase(databaseName);
- Collection<ShardingSphereRule> rules = new
LinkedList<>(database.getRuleMetaData().getRules());
- Optional<ShardingSphereRule> toBeChangedRule =
rules.stream().filter(each ->
each.getConfiguration().getClass().equals(ruleConfig.getClass())).findFirst();
- if (toBeChangedRule.isPresent() && toBeChangedRule.get() instanceof
PartialRuleUpdateSupported && ((PartialRuleUpdateSupported)
toBeChangedRule.get()).partialUpdate(ruleConfig)) {
- ((PartialRuleUpdateSupported)
toBeChangedRule.get()).updateConfiguration(ruleConfig);
- return;
- }
- try {
- rules.removeIf(each ->
each.getConfiguration().getClass().isAssignableFrom(ruleConfig.getClass()));
- rules.addAll(DatabaseRulesBuilder.build(databaseName,
database.getProtocolType(), database.getRuleMetaData().getRules(),
- ruleConfig, computeNodeInstanceContext,
database.getResourceMetaData()));
- refreshMetadata(databaseName, database, rules);
- } catch (final SQLException ex) {
- log.error("Alter database: {} rule configurations failed",
databaseName, ex);
- }
- }
-
- /**
- * Drop rule configuration.
- *
- * @param databaseName database name
- * @param ruleConfig rule configurations
- */
- @SuppressWarnings({"unchecked", "rawtypes"})
- public synchronized void dropRuleConfiguration(final String databaseName,
final RuleConfiguration ruleConfig) {
- ShardingSphereDatabase database =
metaDataContexts.get().getMetaData().getDatabase(databaseName);
- Collection<ShardingSphereRule> rules = new
LinkedList<>(database.getRuleMetaData().getRules());
- Optional<ShardingSphereRule> toBeChangedRule =
rules.stream().filter(each ->
each.getConfiguration().getClass().equals(ruleConfig.getClass())).findFirst();
- if (toBeChangedRule.isPresent() && toBeChangedRule.get() instanceof
PartialRuleUpdateSupported && ((PartialRuleUpdateSupported)
toBeChangedRule.get()).partialUpdate(ruleConfig)) {
- ((PartialRuleUpdateSupported)
toBeChangedRule.get()).updateConfiguration(ruleConfig);
- return;
- }
- try {
- rules.removeIf(each ->
each.getConfiguration().getClass().isAssignableFrom(ruleConfig.getClass()));
- if (!((DatabaseRuleConfiguration) ruleConfig).isEmpty()) {
- rules.addAll(DatabaseRulesBuilder.build(databaseName,
database.getProtocolType(), database.getRuleMetaData().getRules(),
- ruleConfig, computeNodeInstanceContext,
database.getResourceMetaData()));
- }
- refreshMetadata(databaseName, database, rules);
- } catch (final SQLException ex) {
- log.error("Drop database: {} rule configurations failed",
databaseName, ex);
- }
- }
-
- private void refreshMetadata(final String databaseName, final
ShardingSphereDatabase database, final Collection<ShardingSphereRule> rules)
throws SQLException {
- database.getRuleMetaData().getRules().clear();
- database.getRuleMetaData().getRules().addAll(rules);
- MetaDataContexts reloadMetaDataContexts =
createMetaDataContextsByAlterRule(databaseName,
database.getRuleMetaData().getConfigurations());
- metaDataContexts.set(reloadMetaDataContexts);
-
metaDataContexts.get().getMetaData().getDatabase(databaseName).getSchemas().putAll(buildShardingSphereSchemas(metaDataContexts.get().getMetaData().getDatabase(databaseName)));
- }
-
- private MetaDataContexts createMetaDataContextsByAlterRule(final String
databaseName, final Collection<RuleConfiguration> ruleConfigs) throws
SQLException {
- Map<String, ShardingSphereDatabase> changedDatabases =
createChangedDatabases(databaseName, false, null, ruleConfigs);
- return newMetaDataContexts(new
ShardingSphereMetaData(changedDatabases,
metaDataContexts.get().getMetaData().getGlobalResourceMetaData(),
- metaDataContexts.get().getMetaData().getGlobalRuleMetaData(),
metaDataContexts.get().getMetaData().getProps()));
- }
-
/**
* Alter schema meta data.
*
@@ -267,12 +198,6 @@ public final class ConfigurationManager {
: ExternalMetaDataFactory.create(databaseName, databaseConfig,
props, computeNodeInstanceContext);
}
- private Map<String, ShardingSphereSchema> buildShardingSphereSchemas(final
ShardingSphereDatabase database) {
- Map<String, ShardingSphereSchema> result = new
LinkedHashMap<>(database.getSchemas().size(), 1F);
- database.getSchemas().forEach((key, value) -> result.put(key, new
ShardingSphereSchema(value.getTables(), value.getViews())));
- return result;
- }
-
/**
* Alter global rule configuration.
*
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ConfigurationManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/DatabaseRuleConfigurationManager.java
similarity index 64%
copy from
mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ConfigurationManager.java
copy to
mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/DatabaseRuleConfigurationManager.java
index 527a11b52a0..e19f5f7bc04 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ConfigurationManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/DatabaseRuleConfigurationManager.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.mode.metadata.manager;
-import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.infra.config.database.DatabaseConfiguration;
import
org.apache.shardingsphere.infra.config.database.impl.DataSourceProvidedDatabaseConfiguration;
@@ -31,23 +30,16 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
-import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.rule.PartialRuleUpdateSupported;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import
org.apache.shardingsphere.infra.rule.builder.database.DatabaseRulesBuilder;
-import org.apache.shardingsphere.infra.rule.builder.global.GlobalRulesBuilder;
-import
org.apache.shardingsphere.infra.yaml.config.pojo.rule.YamlRuleConfiguration;
-import
org.apache.shardingsphere.infra.yaml.config.swapper.rule.YamlRuleConfigurationSwapperEngine;
import org.apache.shardingsphere.metadata.factory.ExternalMetaDataFactory;
import org.apache.shardingsphere.metadata.factory.InternalMetaDataFactory;
import org.apache.shardingsphere.metadata.persist.MetaDataPersistService;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
import org.apache.shardingsphere.mode.metadata.MetaDataContextsFactory;
import org.apache.shardingsphere.mode.spi.PersistRepository;
-import org.apache.shardingsphere.mode.tuple.annotation.RepositoryTupleEntity;
-import org.apache.shardingsphere.transaction.rule.TransactionRule;
import javax.sql.DataSource;
import java.sql.SQLException;
@@ -56,17 +48,15 @@ import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.Objects;
import java.util.Optional;
-import java.util.Properties;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
/**
- * Configuration context manager.
+ * Database rule configuration manager.
*/
@Slf4j
-public final class ConfigurationManager {
+public final class DatabaseRuleConfigurationManager {
private final AtomicReference<MetaDataContexts> metaDataContexts;
@@ -74,8 +64,8 @@ public final class ConfigurationManager {
private final MetaDataPersistService metaDataPersistService;
- public ConfigurationManager(final AtomicReference<MetaDataContexts>
metaDataContexts, final ComputeNodeInstanceContext computeNodeInstanceContext,
- final PersistRepository repository) {
+ public DatabaseRuleConfigurationManager(final
AtomicReference<MetaDataContexts> metaDataContexts, final
ComputeNodeInstanceContext computeNodeInstanceContext,
+ final PersistRepository
repository) {
this.metaDataContexts = metaDataContexts;
this.computeNodeInstanceContext = computeNodeInstanceContext;
metaDataPersistService = new MetaDataPersistService(repository);
@@ -147,33 +137,7 @@ public final class ConfigurationManager {
metaDataContexts.get().getMetaData().getGlobalRuleMetaData(),
metaDataContexts.get().getMetaData().getProps()));
}
- /**
- * Alter schema meta data.
- *
- * @param databaseName database name
- * @param reloadDatabase reload database
- * @param currentDatabase current database
- * @param isDropConfig is drop configuration
- */
- public void alterSchemaMetaData(final String databaseName, final
ShardingSphereDatabase reloadDatabase, final ShardingSphereDatabase
currentDatabase, final boolean isDropConfig) {
- Map<String, ShardingSphereSchema> toBeAlterSchemas =
GenericSchemaManager.getToBeDeletedTablesBySchemas(reloadDatabase.getSchemas(),
currentDatabase.getSchemas());
- Map<String, ShardingSphereSchema> toBeAddedSchemas =
GenericSchemaManager.getToBeAddedTablesBySchemas(reloadDatabase.getSchemas(),
currentDatabase.getSchemas());
- if (isDropConfig) {
- toBeAddedSchemas.forEach((key, value) ->
metaDataPersistService.getDatabaseMetaDataService().persistByDropConfiguration(databaseName,
key, value));
- } else {
- toBeAddedSchemas.forEach((key, value) ->
metaDataPersistService.getDatabaseMetaDataService().persistByAlterConfiguration(databaseName,
key, value));
- }
- toBeAlterSchemas.forEach((key, value) ->
metaDataPersistService.getDatabaseMetaDataService().delete(databaseName, key,
value));
- }
-
- /**
- * Get effective resource meta data.
- *
- * @param database database
- * @param resource resource
- * @return effective resource meta data
- */
- public ResourceMetaData getEffectiveResourceMetaData(final
ShardingSphereDatabase database, final SwitchingResource resource) {
+ private ResourceMetaData getEffectiveResourceMetaData(final
ShardingSphereDatabase database, final SwitchingResource resource) {
Map<StorageNode, DataSource> storageNodes =
getStorageNodes(database.getResourceMetaData().getDataSources(), resource);
Map<String, StorageUnit> storageUnits =
getStorageUnits(database.getResourceMetaData().getStorageUnits(), resource);
return new ResourceMetaData(storageNodes, storageUnits);
@@ -199,37 +163,8 @@ public final class ConfigurationManager {
return result;
}
- /**
- * Create meta data contexts.
- *
- * @param databaseName database name
- * @param internalLoadMetaData internal load meta data
- * @param switchingResource switching resource
- * @param ruleConfigs rule configs
- * @return MetaDataContexts meta data contexts
- * @throws SQLException SQL exception
- */
- public MetaDataContexts createMetaDataContexts(final String databaseName,
final boolean internalLoadMetaData,
- final SwitchingResource
switchingResource, final Collection<RuleConfiguration> ruleConfigs) throws
SQLException {
- Map<String, ShardingSphereDatabase> changedDatabases =
createChangedDatabases(databaseName, internalLoadMetaData, switchingResource,
ruleConfigs);
- ConfigurationProperties props =
metaDataContexts.get().getMetaData().getProps();
- RuleMetaData changedGlobalMetaData = new RuleMetaData(
-
GlobalRulesBuilder.buildRules(metaDataContexts.get().getMetaData().getGlobalRuleMetaData().getConfigurations(),
changedDatabases, props));
- return newMetaDataContexts(new
ShardingSphereMetaData(changedDatabases,
metaDataContexts.get().getMetaData().getGlobalResourceMetaData(),
changedGlobalMetaData, props));
- }
-
- /**
- * Create changed databases.
- *
- * @param databaseName database name
- * @param internalLoadMetaData internal load meta data
- * @param switchingResource switching resource
- * @param ruleConfigs rule configs
- * @return ShardingSphere databases
- * @throws SQLException SQL exception
- */
- public synchronized Map<String, ShardingSphereDatabase>
createChangedDatabases(final String databaseName, final boolean
internalLoadMetaData,
-
final SwitchingResource switchingResource, final
Collection<RuleConfiguration> ruleConfigs) throws SQLException {
+ private synchronized Map<String, ShardingSphereDatabase>
createChangedDatabases(final String databaseName, final boolean
internalLoadMetaData,
+
final SwitchingResource switchingResource, final
Collection<RuleConfiguration> ruleConfigs) throws SQLException {
ResourceMetaData effectiveResourceMetaData =
getEffectiveResourceMetaData(metaDataContexts.get().getMetaData().getDatabase(databaseName),
switchingResource);
Collection<RuleConfiguration> toBeCreatedRuleConfigs = null ==
ruleConfigs
?
metaDataContexts.get().getMetaData().getDatabase(databaseName).getRuleMetaData().getConfigurations()
@@ -273,50 +208,6 @@ public final class ConfigurationManager {
return result;
}
- /**
- * Alter global rule configuration.
- *
- * @param ruleConfig global rule configuration
- */
- public synchronized void alterGlobalRuleConfiguration(final
RuleConfiguration ruleConfig) {
- if (null == ruleConfig) {
- return;
- }
- closeStaleTransactionRule(ruleConfig);
- Collection<ShardingSphereRule> rules = new
LinkedList<>(metaDataContexts.get().getMetaData().getGlobalRuleMetaData().getRules());
- rules.removeIf(each ->
each.getConfiguration().getClass().isAssignableFrom(ruleConfig.getClass()));
- rules.addAll(GlobalRulesBuilder.buildSingleRules(ruleConfig,
metaDataContexts.get().getMetaData().getDatabases(),
metaDataContexts.get().getMetaData().getProps()));
-
metaDataContexts.get().getMetaData().getGlobalRuleMetaData().getRules().clear();
-
metaDataContexts.get().getMetaData().getGlobalRuleMetaData().getRules().addAll(rules);
- ShardingSphereMetaData toBeChangedMetaData = new
ShardingSphereMetaData(metaDataContexts.get().getMetaData().getDatabases(),
metaDataContexts.get().getMetaData().getGlobalResourceMetaData(),
- metaDataContexts.get().getMetaData().getGlobalRuleMetaData(),
metaDataContexts.get().getMetaData().getProps());
- metaDataContexts.set(newMetaDataContexts(toBeChangedMetaData));
- }
-
- // Optimize string comparison rule type.
- @SneakyThrows(Exception.class)
- private void closeStaleTransactionRule(final RuleConfiguration ruleConfig)
{
- YamlRuleConfiguration yamlRuleConfig = new
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfiguration(ruleConfig);
- if
(!"transaction".equals(Objects.requireNonNull(yamlRuleConfig.getClass().getAnnotation(RepositoryTupleEntity.class)).value()))
{
- return;
- }
- Optional<TransactionRule> transactionRule =
metaDataContexts.get().getMetaData().getGlobalRuleMetaData().findSingleRule(TransactionRule.class);
- if (transactionRule.isPresent()) {
- ((AutoCloseable) transactionRule.get()).close();
- }
- }
-
- /**
- * Alter properties.
- *
- * @param props properties to be altered
- */
- public synchronized void alterProperties(final Properties props) {
- ShardingSphereMetaData toBeChangedMetaData = new
ShardingSphereMetaData(metaDataContexts.get().getMetaData().getDatabases(),
metaDataContexts.get().getMetaData().getGlobalResourceMetaData(),
- metaDataContexts.get().getMetaData().getGlobalRuleMetaData(),
new ConfigurationProperties(props));
- metaDataContexts.set(newMetaDataContexts(toBeChangedMetaData));
- }
-
private MetaDataContexts newMetaDataContexts(final ShardingSphereMetaData
metaData) {
return MetaDataContextsFactory.create(metaDataPersistService,
metaData);
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/RuleItemManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/RuleItemManager.java
index 9d6aac35ab9..6e189a811ee 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/RuleItemManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/RuleItemManager.java
@@ -35,13 +35,13 @@ public class RuleItemManager {
private final AtomicReference<MetaDataContexts> metaDataContexts;
- private final ConfigurationManager configurationManager;
+ private final DatabaseRuleConfigurationManager ruleConfigurationManager;
private final MetaDataPersistService metaDataPersistService;
- public RuleItemManager(final AtomicReference<MetaDataContexts>
metaDataContexts, final PersistRepository repository, final
ConfigurationManager configurationManager) {
+ public RuleItemManager(final AtomicReference<MetaDataContexts>
metaDataContexts, final PersistRepository repository, final
DatabaseRuleConfigurationManager ruleConfigurationManager) {
this.metaDataContexts = metaDataContexts;
- this.configurationManager = configurationManager;
+ this.ruleConfigurationManager = ruleConfigurationManager;
metaDataPersistService = new MetaDataPersistService(repository);
}
@@ -63,7 +63,7 @@ public class RuleItemManager {
RuleConfiguration currentRuleConfig =
processor.findRuleConfiguration(metaDataContexts.get().getMetaData().getDatabase(databaseName));
synchronized (this) {
processor.changeRuleItemConfiguration(event, currentRuleConfig,
processor.swapRuleItemConfiguration(event, yamlContent));
- configurationManager.alterRuleConfiguration(databaseName,
currentRuleConfig);
+ ruleConfigurationManager.alterRuleConfiguration(databaseName,
currentRuleConfig);
}
}
@@ -82,7 +82,7 @@ public class RuleItemManager {
RuleConfiguration currentRuleConfig =
processor.findRuleConfiguration(metaDataContexts.get().getMetaData().getDatabase(databaseName));
synchronized (this) {
processor.dropRuleItemConfiguration(event, currentRuleConfig);
- configurationManager.dropRuleConfiguration(databaseName,
currentRuleConfig);
+ ruleConfigurationManager.dropRuleConfiguration(databaseName,
currentRuleConfig);
}
}
}
diff --git
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/StandaloneMetaDataManagerPersistService.java
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/StandaloneMetaDataManagerPersistService.java
index 2f8216509fa..b9b6dd3b81b 100644
---
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/StandaloneMetaDataManagerPersistService.java
+++
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/StandaloneMetaDataManagerPersistService.java
@@ -273,7 +273,7 @@ public final class StandaloneMetaDataManagerPersistService
implements MetaDataMa
Collection<MetaDataVersion> metaDataVersions =
metaDataPersistService.getDatabaseRulePersistService()
.persistConfigurations(metaDataContextManager.getMetaDataContexts().get().getMetaData().getDatabase(databaseName).getName(),
ruleConfigs);
metaDataPersistService.getMetaDataVersionPersistService().switchActiveVersion(metaDataVersions);
-
metaDataContextManager.getConfigurationManager().alterRuleConfiguration(databaseName,
ruleConfigs.iterator().next());
+
metaDataContextManager.getDatabaseRuleConfigurationManager().alterRuleConfiguration(databaseName,
ruleConfigs.iterator().next());
clearServiceCache();
}