This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 d448d8069c9 Remove ModeContextManager (#31366)
d448d8069c9 is described below
commit d448d8069c9af6a3f7a04978dc53d892d2d18fcc
Author: Haoran Meng <[email protected]>
AuthorDate: Thu May 23 18:00:38 2024 +0800
Remove ModeContextManager (#31366)
* Remove ModeContextManager
* Remove ModeContextManager
---
.../impl/proxy/ProxyStateExporterTest.java | 3 +-
.../PrometheusPluginLifecycleServiceTest.java | 3 +-
.../checker/ShardingRouteCacheableCheckerTest.java | 2 +-
.../infra/instance/ComputeNodeInstanceContext.java | 3 -
.../infra/instance/mode/ModeContextManager.java | 152 ----------
.../instance/ComputeNodeInstanceContextTest.java | 21 +-
.../database/type/AlterDatabaseRuleOperator.java | 8 +-
.../database/type/CreateDatabaseRuleOperator.java | 6 +-
.../database/type/DropDatabaseRuleOperator.java | 10 +-
.../global/GlobalRuleDefinitionExecuteEngine.java | 2 +-
.../rdl/resource/AlterStorageUnitExecutor.java | 2 +-
.../rdl/resource/RegisterStorageUnitExecutor.java | 2 +-
.../resource/UnregisterStorageUnitExecutor.java | 2 +-
.../UnregisterStorageUnitExecutorTest.java | 12 +-
.../driver/executor/DriverJDBCExecutor.java | 10 +-
.../metadata/refresher/MetaDataRefreshEngine.java | 7 +-
.../mode/metadata/refresher/MetaDataRefresher.java | 6 +-
.../index/AlterIndexStatementSchemaRefresher.java | 6 +-
.../index/CreateIndexStatementSchemaRefresher.java | 6 +-
.../index/DropIndexStatementSchemaRefresher.java | 6 +-
.../AlterSchemaStatementSchemaRefresher.java | 6 +-
.../CreateSchemaStatementSchemaRefresher.java | 6 +-
.../schema/DropSchemaStatementSchemaRefresher.java | 6 +-
.../table/AlterTableStatementSchemaRefresher.java | 6 +-
.../table/CreateTableStatementSchemaRefresher.java | 8 +-
.../table/DropTableStatementSchemaRefresher.java | 8 +-
.../table/RenameTableStatementSchemaRefresher.java | 6 +-
.../view/AlterViewStatementSchemaRefresher.java | 6 +-
.../view/CreateViewStatementSchemaRefresher.java | 6 +-
.../view/DropViewStatementSchemaRefresher.java | 6 +-
.../cluster/ClusterContextManagerBuilder.java | 11 +-
.../manager/cluster/ClusterModeContextManager.java | 159 ----------
.../StandaloneContextManagerBuilder.java | 7 +-
.../standalone/StandaloneModeContextManager.java | 332 ---------------------
.../proxy/backend/connector/DatabaseConnector.java | 2 +-
.../database/CreateDatabaseBackendHandler.java | 2 +-
.../database/DropDatabaseBackendHandler.java | 2 +-
.../ral/updatable/ImportMetaDataExecutor.java | 4 +-
.../ral/updatable/SetDistVariableExecutor.java | 2 +-
.../YamlDatabaseConfigurationImportExecutor.java | 6 +-
.../distsql/DistSQLBackendHandlerFactoryTest.java | 4 +-
.../ral/queryable/ExportMetaDataExecutorTest.java | 3 +-
.../ral/updatable/SetDistVariableExecutorTest.java | 5 +-
43 files changed, 104 insertions(+), 768 deletions(-)
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyStateExporterTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyStateExporterTest.java
index 0561aad5db9..74ecdf38802 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyStateExporterTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyStateExporterTest.java
@@ -26,7 +26,6 @@ import
org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.state.instance.InstanceStateContext;
@@ -83,7 +82,7 @@ class ProxyStateExporterTest {
MetaDataContexts metaDataContexts = new
MetaDataContexts(mock(MetaDataPersistService.class), new
ShardingSphereMetaData());
ComputeNodeInstanceContext computeNodeInstanceContext = new
ComputeNodeInstanceContext(
new ComputeNodeInstance(mock(InstanceMetaData.class)), new
StandaloneWorkerIdGenerator(), new ModeConfiguration("Standalone", null),
- mock(ModeContextManager.class), mock(LockContext.class), new
EventBusContext());
+ mock(LockContext.class), new EventBusContext());
return new ContextManager(metaDataContexts,
computeNodeInstanceContext);
}
}
diff --git
a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleServiceTest.java
b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleServiceTest.java
index ec868b86737..36806776f00 100644
---
a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleServiceTest.java
+++
b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleServiceTest.java
@@ -22,7 +22,6 @@ import
org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
@@ -72,7 +71,7 @@ class PrometheusPluginLifecycleServiceTest {
MetaDataContexts metaDataContexts = new
MetaDataContexts(mock(MetaDataPersistService.class), new
ShardingSphereMetaData());
ComputeNodeInstanceContext computeNodeInstanceContext = new
ComputeNodeInstanceContext(
new ComputeNodeInstance(mock(InstanceMetaData.class)), new
StandaloneWorkerIdGenerator(), new ModeConfiguration("Standalone", null),
- mock(ModeContextManager.class), mock(LockContext.class), new
EventBusContext());
+ mock(LockContext.class), new EventBusContext());
return new ContextManager(metaDataContexts,
computeNodeInstanceContext);
}
}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/cache/checker/ShardingRouteCacheableCheckerTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/cache/checker/ShardingRouteCacheableCheckerTest.java
index 4ff51ad2fe6..b13bbf42d1a 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/cache/checker/ShardingRouteCacheableCheckerTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/cache/checker/ShardingRouteCacheableCheckerTest.java
@@ -108,7 +108,7 @@ class ShardingRouteCacheableCheckerTest {
ruleConfig.getTables().add(nonCacheableTableSharding);
ruleConfig.setShardingCache(new ShardingCacheConfiguration(100, new
ShardingCacheOptionsConfiguration(true, 0, 0)));
return new ShardingRule(ruleConfig, Maps.of("ds_0", new
MockedDataSource(), "ds_1", new MockedDataSource()),
- new
ComputeNodeInstanceContext(mock(ComputeNodeInstance.class), props -> 0, null,
null, null, null));
+ new
ComputeNodeInstanceContext(mock(ComputeNodeInstance.class), props -> 0, null,
null, null));
}
private TimestampServiceRule createTimeServiceRule() {
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContext.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContext.java
index 9a11cc5f3f1..d0a9e53575d 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContext.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContext.java
@@ -23,7 +23,6 @@ import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
import org.apache.shardingsphere.infra.instance.metadata.InstanceType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import org.apache.shardingsphere.infra.instance.workerid.WorkerIdGenerator;
import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.state.instance.InstanceState;
@@ -52,8 +51,6 @@ public final class ComputeNodeInstanceContext {
private final ModeConfiguration modeConfiguration;
- private final ModeContextManager modeContextManager;
-
@SuppressWarnings("rawtypes")
private final LockContext lockContext;
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
deleted file mode 100644
index 642c54cb0f9..00000000000
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.infra.instance.mode;
-
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
-import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaPOJO;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
-
-import java.sql.SQLException;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * Mode context manager.
- */
-public interface ModeContextManager {
-
- /**
- * Create database.
- *
- * @param databaseName database name
- */
- void createDatabase(String databaseName);
-
- /**
- * Drop database.
- *
- * @param databaseName database name
- */
- void dropDatabase(String databaseName);
-
- /**
- * Create schema.
- *
- * @param databaseName database name
- * @param schemaName schema name
- */
- void createSchema(String databaseName, String schemaName);
-
- /**
- * Alter schema.
- *
- * @param alterSchemaPOJO alter schema pojo
- */
- void alterSchema(AlterSchemaPOJO alterSchemaPOJO);
-
- /**
- * Drop schema.
- *
- * @param databaseName database name
- * @param schemaNames schema names
- */
- void dropSchema(String databaseName, Collection<String> schemaNames);
-
- /**
- * Alter schema metadata.
- *
- * @param alterSchemaMetaDataPOJO alter schema metadata pojo
- */
- void alterSchemaMetaData(AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO);
-
- /**
- * Register storage units.
- *
- * @param databaseName database name
- * @param toBeRegisteredProps to be registered storage unit properties
- * @throws SQLException SQL exception
- */
- void registerStorageUnits(String databaseName, Map<String,
DataSourcePoolProperties> toBeRegisteredProps) throws SQLException;
-
- /**
- * Alter storage units.
- *
- * @param databaseName database name
- * @param toBeUpdatedProps to be updated storage unit properties
- * @throws SQLException SQL exception
- */
- void alterStorageUnits(String databaseName, Map<String,
DataSourcePoolProperties> toBeUpdatedProps) throws SQLException;
-
- /**
- * Unregister storage units.
- * @param databaseName database name
- * @param toBeDroppedStorageUnitNames to be dropped storage unit names
- * @throws SQLException SQL exception
- */
- void unregisterStorageUnits(String databaseName, Collection<String>
toBeDroppedStorageUnitNames) throws SQLException;
-
- /**
- * Alter single rule configuration.
- *
- * @param databaseName database name
- * @param ruleConfigs rule configs
- */
- void alterSingleRuleConfiguration(String databaseName,
Collection<RuleConfiguration> ruleConfigs);
-
- /**
- * Alter rule configuration.
- *
- * @param databaseName database name
- * @param toBeAlteredRuleConfig to be altered rule config
- * @return meta data versions
- */
- Collection<MetaDataVersion> alterRuleConfiguration(String databaseName,
RuleConfiguration toBeAlteredRuleConfig);
-
- /**
- * Remove rule configuration item.
- *
- * @param databaseName database name
- * @param toBeRemovedRuleConfig to be removed rule config
- */
- void removeRuleConfigurationItem(String databaseName, RuleConfiguration
toBeRemovedRuleConfig);
-
- /**
- * Remove rule configuration.
- *
- * @param databaseName database name
- * @param ruleName rule name
- */
- void removeRuleConfiguration(String databaseName, String ruleName);
-
- /**
- * Alter global rule configuration.
- *
- * @param globalRuleConfig global rule config
- */
- void alterGlobalRuleConfiguration(RuleConfiguration globalRuleConfig);
-
- /**
- * Alter properties.
- *
- * @param props pros
- */
- void alterProperties(Properties props);
-}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContextTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContextTest.java
index e014028431f..70353a59fd2 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContextTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContextTest.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.infra.instance;
import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import org.apache.shardingsphere.infra.instance.workerid.WorkerIdGenerator;
import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.state.instance.InstanceState;
@@ -42,8 +41,6 @@ class ComputeNodeInstanceContextTest {
private final ModeConfiguration modeConfig = new
ModeConfiguration("Standalone", null);
- private final ModeContextManager modeContextManager =
mock(ModeContextManager.class);
-
private final LockContext lockContext = mock(LockContext.class);
private final EventBusContext eventBusContext = new EventBusContext();
@@ -53,7 +50,7 @@ class ComputeNodeInstanceContextTest {
InstanceMetaData instanceMetaData = mock(InstanceMetaData.class);
when(instanceMetaData.getId()).thenReturn("foo_instance_id");
ComputeNodeInstanceContext context = new ComputeNodeInstanceContext(
- new ComputeNodeInstance(instanceMetaData),
mock(WorkerIdGenerator.class), modeConfig, modeContextManager, lockContext,
eventBusContext);
+ new ComputeNodeInstance(instanceMetaData),
mock(WorkerIdGenerator.class), modeConfig, lockContext, eventBusContext);
InstanceState actual =
context.getInstance().getState().getCurrentState();
assertThat(actual, is(InstanceState.OK));
context.updateStatus(instanceMetaData.getId(),
InstanceState.CIRCUIT_BREAK.name());
@@ -68,14 +65,14 @@ class ComputeNodeInstanceContextTest {
void assertGetWorkerId() {
ComputeNodeInstance computeNodeInstance =
mock(ComputeNodeInstance.class);
when(computeNodeInstance.getWorkerId()).thenReturn(0);
- ComputeNodeInstanceContext context = new
ComputeNodeInstanceContext(computeNodeInstance, mock(WorkerIdGenerator.class),
modeConfig, modeContextManager, lockContext, eventBusContext);
+ ComputeNodeInstanceContext context = new
ComputeNodeInstanceContext(computeNodeInstance, mock(WorkerIdGenerator.class),
modeConfig, lockContext, eventBusContext);
assertThat(context.getWorkerId(), is(0));
}
@Test
void assertGenerateWorkerId() {
ComputeNodeInstanceContext context = new ComputeNodeInstanceContext(
- new ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class), modeConfig, modeContextManager, lockContext,
eventBusContext);
+ new ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class), modeConfig, lockContext, eventBusContext);
assertThat(context.generateWorkerId(new Properties()), is(0));
}
@@ -84,7 +81,7 @@ class ComputeNodeInstanceContextTest {
InstanceMetaData instanceMetaData = mock(InstanceMetaData.class);
when(instanceMetaData.getId()).thenReturn("foo_instance_id");
ComputeNodeInstanceContext context = new ComputeNodeInstanceContext(
- new ComputeNodeInstance(instanceMetaData),
mock(WorkerIdGenerator.class), modeConfig, modeContextManager, lockContext,
eventBusContext);
+ new ComputeNodeInstance(instanceMetaData),
mock(WorkerIdGenerator.class), modeConfig, lockContext, eventBusContext);
Collection<String> expected = Arrays.asList("label_1", "label_2");
context.updateLabel("foo_instance_id", expected);
Collection<String> actual = context.getInstance().getLabels();
@@ -94,7 +91,7 @@ class ComputeNodeInstanceContextTest {
@Test
void assertGetInstance() {
ComputeNodeInstance expected = new
ComputeNodeInstance(mock(InstanceMetaData.class));
- ComputeNodeInstanceContext context = new
ComputeNodeInstanceContext(expected, mock(WorkerIdGenerator.class), modeConfig,
modeContextManager, lockContext, eventBusContext);
+ ComputeNodeInstanceContext context = new
ComputeNodeInstanceContext(expected, mock(WorkerIdGenerator.class), modeConfig,
lockContext, eventBusContext);
ComputeNodeInstance actual = context.getInstance();
assertThat(actual, is(expected));
}
@@ -102,24 +99,24 @@ class ComputeNodeInstanceContextTest {
@Test
void assertGetState() {
ComputeNodeInstanceContext context = new ComputeNodeInstanceContext(
- new ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class), modeConfig, modeContextManager, lockContext,
eventBusContext);
+ new ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class), modeConfig, lockContext, eventBusContext);
assertNotNull(context.getInstance().getState());
}
@Test
void assertGetModeConfiguration() {
ComputeNodeInstanceContext context = new ComputeNodeInstanceContext(
- new ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class), modeConfig, modeContextManager, lockContext,
eventBusContext);
+ new ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class), modeConfig, lockContext, eventBusContext);
assertThat(context.getModeConfiguration(), is(modeConfig));
}
@Test
void assertIsCluster() {
ComputeNodeInstanceContext context = new ComputeNodeInstanceContext(
- new ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class), modeConfig, modeContextManager, lockContext,
eventBusContext);
+ new ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class), modeConfig, lockContext, eventBusContext);
assertFalse(context.isCluster());
ComputeNodeInstanceContext clusterContext = new
ComputeNodeInstanceContext(new
ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class),
- new ModeConfiguration("Cluster", null), modeContextManager,
lockContext, eventBusContext);
+ new ModeConfiguration("Cluster", null), lockContext,
eventBusContext);
assertTrue(clusterContext.isCluster());
}
}
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/AlterDatabaseRuleOperator.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/AlterDatabaseRuleOperator.java
index 22ca7c3c9cf..61f43a35f7b 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/AlterDatabaseRuleOperator.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/AlterDatabaseRuleOperator.java
@@ -23,11 +23,11 @@ import
org.apache.shardingsphere.distsql.handler.engine.update.rdl.rule.spi.data
import
org.apache.shardingsphere.distsql.statement.rdl.rule.database.DatabaseRuleDefinitionStatement;
import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import
org.apache.shardingsphere.infra.config.rule.decorator.RuleConfigurationDecorator;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.manager.ContextManager;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import java.util.Collection;
import java.util.LinkedHashMap;
@@ -49,10 +49,10 @@ public final class AlterDatabaseRuleOperator implements
DatabaseRuleOperator {
@SuppressWarnings("unchecked")
public Collection<MetaDataVersion> operate(final
DatabaseRuleDefinitionStatement sqlStatement, final ShardingSphereDatabase
database, final RuleConfiguration currentRuleConfig) {
RuleConfiguration toBeAlteredRuleConfig =
executor.buildToBeAlteredRuleConfiguration(sqlStatement);
- ModeContextManager modeContextManager =
contextManager.getComputeNodeInstanceContext().getModeContextManager();
+ MetaDataManagerPersistService metaDataManagerPersistService =
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService();
RuleConfiguration toBeDroppedRuleConfig =
executor.buildToBeDroppedRuleConfiguration(toBeAlteredRuleConfig);
- modeContextManager.removeRuleConfigurationItem(database.getName(),
toBeDroppedRuleConfig);
- return modeContextManager.alterRuleConfiguration(database.getName(),
decorateRuleConfiguration(database, toBeAlteredRuleConfig));
+
metaDataManagerPersistService.removeRuleConfigurationItem(database.getName(),
toBeDroppedRuleConfig);
+ return
metaDataManagerPersistService.alterRuleConfiguration(database.getName(),
decorateRuleConfiguration(database, toBeAlteredRuleConfig));
}
@SuppressWarnings("unchecked")
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/CreateDatabaseRuleOperator.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/CreateDatabaseRuleOperator.java
index 54a54a0f57a..faf4dd6fc8e 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/CreateDatabaseRuleOperator.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/CreateDatabaseRuleOperator.java
@@ -23,11 +23,11 @@ import
org.apache.shardingsphere.distsql.handler.engine.update.rdl.rule.spi.data
import
org.apache.shardingsphere.distsql.statement.rdl.rule.database.DatabaseRuleDefinitionStatement;
import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import
org.apache.shardingsphere.infra.config.rule.decorator.RuleConfigurationDecorator;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.manager.ContextManager;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import java.util.Collection;
import java.util.LinkedHashMap;
@@ -49,8 +49,8 @@ public final class CreateDatabaseRuleOperator implements
DatabaseRuleOperator {
@SuppressWarnings("unchecked")
public Collection<MetaDataVersion> operate(final
DatabaseRuleDefinitionStatement sqlStatement, final ShardingSphereDatabase
database, final RuleConfiguration currentRuleConfig) {
RuleConfiguration toBeCreatedRuleConfig =
executor.buildToBeCreatedRuleConfiguration(sqlStatement);
- ModeContextManager modeContextManager =
contextManager.getComputeNodeInstanceContext().getModeContextManager();
- return modeContextManager.alterRuleConfiguration(database.getName(),
decorateRuleConfiguration(database, toBeCreatedRuleConfig));
+ MetaDataManagerPersistService metaDataManagerPersistService =
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService();
+ return
metaDataManagerPersistService.alterRuleConfiguration(database.getName(),
decorateRuleConfiguration(database, toBeCreatedRuleConfig));
}
@SuppressWarnings("unchecked")
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/DropDatabaseRuleOperator.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/DropDatabaseRuleOperator.java
index 7d2b00639f4..7177d9e9924 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/DropDatabaseRuleOperator.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/DropDatabaseRuleOperator.java
@@ -24,11 +24,11 @@ import
org.apache.shardingsphere.distsql.statement.rdl.rule.aware.StaticDataSour
import
org.apache.shardingsphere.distsql.statement.rdl.rule.database.DatabaseRuleDefinitionStatement;
import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import
org.apache.shardingsphere.infra.config.rule.scope.DatabaseRuleConfiguration;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
import
org.apache.shardingsphere.infra.rule.attribute.datasource.StaticDataSourceRuleAttribute;
import
org.apache.shardingsphere.infra.yaml.config.pojo.rule.YamlRuleConfiguration;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import org.apache.shardingsphere.mode.tuple.annotation.RepositoryTupleEntity;
import
org.apache.shardingsphere.infra.yaml.config.swapper.rule.YamlRuleConfigurationSwapperEngine;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -60,15 +60,15 @@ public final class DropDatabaseRuleOperator implements
DatabaseRuleOperator {
}
// TODO refactor to new metadata refresh way
}
- ModeContextManager modeContextManager =
contextManager.getComputeNodeInstanceContext().getModeContextManager();
+ MetaDataManagerPersistService metaDataManagerPersistService =
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService();
RuleConfiguration toBeDroppedRuleConfig =
executor.buildToBeDroppedRuleConfiguration(sqlStatement);
- modeContextManager.removeRuleConfigurationItem(database.getName(),
toBeDroppedRuleConfig);
+
metaDataManagerPersistService.removeRuleConfigurationItem(database.getName(),
toBeDroppedRuleConfig);
RuleConfiguration toBeAlteredRuleConfig =
executor.buildToBeAlteredRuleConfiguration(sqlStatement);
if (null != toBeAlteredRuleConfig && ((DatabaseRuleConfiguration)
toBeAlteredRuleConfig).isEmpty()) {
YamlRuleConfiguration yamlRuleConfig = new
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfiguration(currentRuleConfig);
- modeContextManager.removeRuleConfiguration(database.getName(),
Objects.requireNonNull(yamlRuleConfig.getClass().getAnnotation(RepositoryTupleEntity.class)).value());
+
metaDataManagerPersistService.removeRuleConfiguration(database.getName(),
Objects.requireNonNull(yamlRuleConfig.getClass().getAnnotation(RepositoryTupleEntity.class)).value());
return Collections.emptyList();
}
- return modeContextManager.alterRuleConfiguration(database.getName(),
toBeAlteredRuleConfig);
+ return
metaDataManagerPersistService.alterRuleConfiguration(database.getName(),
toBeAlteredRuleConfig);
}
}
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/global/GlobalRuleDefinitionExecuteEngine.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/global/GlobalRuleDefinitionExecuteEngine.java
index 3130abc7798..c28f2394cee 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/global/GlobalRuleDefinitionExecuteEngine.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/global/GlobalRuleDefinitionExecuteEngine.java
@@ -47,7 +47,7 @@ public final class GlobalRuleDefinitionExecuteEngine {
ShardingSphereRule rule =
contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getSingleRule(executor.getRuleClass());
executor.setRule(rule);
executor.checkBeforeUpdate(sqlStatement);
-
contextManager.getComputeNodeInstanceContext().getModeContextManager().alterGlobalRuleConfiguration(processUpdate(sqlStatement,
rule));
+
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().alterGlobalRuleConfiguration(processUpdate(sqlStatement,
rule));
}
@SuppressWarnings("unchecked")
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutor.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutor.java
index 1bce53afc47..3a6938b4b0f 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutor.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutor.java
@@ -65,7 +65,7 @@ public final class AlterStorageUnitExecutor implements
DistSQLUpdateExecutor<Alt
Map<String, DataSourcePoolProperties> propsMap =
DataSourceSegmentsConverter.convert(database.getProtocolType(),
sqlStatement.getStorageUnits());
validateHandler.validate(propsMap);
try {
-
contextManager.getComputeNodeInstanceContext().getModeContextManager().alterStorageUnits(database.getName(),
propsMap);
+
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().alterStorageUnits(database.getName(),
propsMap);
} catch (final SQLException | ShardingSphereExternalException ex) {
throw new StorageUnitsOperateException("alter", propsMap.keySet(),
ex);
}
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutor.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutor.java
index 15e1396f987..3af15c74b69 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutor.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutor.java
@@ -67,7 +67,7 @@ public final class RegisterStorageUnitExecutor implements
DistSQLUpdateExecutor<
}
validateHandler.validate(propsMap);
try {
-
contextManager.getComputeNodeInstanceContext().getModeContextManager().registerStorageUnits(database.getName(),
propsMap);
+
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().registerStorageUnits(database.getName(),
propsMap);
} catch (final SQLException | ShardingSphereExternalException ex) {
throw new StorageUnitsOperateException("register",
propsMap.keySet(), ex);
}
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
index 580a93f0478..a01b50de523 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
@@ -57,7 +57,7 @@ public final class UnregisterStorageUnitExecutor implements
DistSQLUpdateExecuto
}
checkInUsed(sqlStatement);
try {
-
contextManager.getComputeNodeInstanceContext().getModeContextManager().unregisterStorageUnits(database.getName(),
sqlStatement.getStorageUnitNames());
+
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().unregisterStorageUnits(database.getName(),
sqlStatement.getStorageUnitNames());
} catch (final SQLException | ShardingSphereServerException ex) {
throw new StorageUnitsOperateException("unregister",
sqlStatement.getStorageUnitNames(), ex);
}
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
index 806bb8eb172..5dcfc1f4f1d 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
@@ -22,7 +22,6 @@ import
org.apache.shardingsphere.distsql.statement.rdl.resource.unit.type.Unregi
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import
org.apache.shardingsphere.infra.exception.kernel.metadata.resource.storageunit.MissingRequiredStorageUnitsException;
import
org.apache.shardingsphere.infra.exception.kernel.metadata.resource.storageunit.InUsedStorageUnitException;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
@@ -32,6 +31,7 @@ import
org.apache.shardingsphere.infra.rule.attribute.RuleAttributes;
import
org.apache.shardingsphere.infra.rule.attribute.datasource.DataSourceMapperRuleAttribute;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -63,7 +63,7 @@ class UnregisterStorageUnitExecutorTest {
private ContextManager contextManager;
@Mock
- private ModeContextManager modeContextManager;
+ private MetaDataManagerPersistService metaDataManagerPersistService;
@BeforeEach
void setUp() {
@@ -85,7 +85,7 @@ class UnregisterStorageUnitExecutorTest {
MetaDataContexts metaDataContexts = mock(MetaDataContexts.class,
RETURNS_DEEP_STUBS);
ContextManager result = mock(ContextManager.class, RETURNS_DEEP_STUBS);
when(result.getMetaDataContexts()).thenReturn(metaDataContexts);
-
when(result.getComputeNodeInstanceContext().getModeContextManager()).thenReturn(modeContextManager);
+
when(result.getPersistServiceFacade().getMetaDataManagerPersistService()).thenReturn(metaDataManagerPersistService);
when(result.getDatabase("foo_db")).thenReturn(database);
return result;
}
@@ -95,7 +95,7 @@ class UnregisterStorageUnitExecutorTest {
when(database.getRuleMetaData().getInUsedStorageUnitNameAndRulesMap()).thenReturn(Collections.emptyMap());
UnregisterStorageUnitStatement sqlStatement = new
UnregisterStorageUnitStatement(Collections.singleton("foo_ds"), false, false);
executor.executeUpdate(sqlStatement, contextManager);
- verify(modeContextManager).unregisterStorageUnits("foo_db",
sqlStatement.getStorageUnitNames());
+ verify(metaDataManagerPersistService).unregisterStorageUnits("foo_db",
sqlStatement.getStorageUnitNames());
}
@Test
@@ -126,14 +126,14 @@ class UnregisterStorageUnitExecutorTest {
when(database.getRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singleton(new DistSQLHandlerFixtureRule())));
UnregisterStorageUnitStatement sqlStatement = new
UnregisterStorageUnitStatement(Collections.singleton("foo_ds"), true, false);
executor.executeUpdate(sqlStatement, contextManager);
- verify(modeContextManager).unregisterStorageUnits("foo_db",
sqlStatement.getStorageUnitNames());
+ verify(metaDataManagerPersistService).unregisterStorageUnits("foo_db",
sqlStatement.getStorageUnitNames());
}
@Test
void assertExecuteUpdateWithIfExists() throws SQLException {
UnregisterStorageUnitStatement sqlStatement = new
UnregisterStorageUnitStatement(true, Collections.singleton("foo_ds"), true,
false);
executor.executeUpdate(sqlStatement, contextManager);
- verify(modeContextManager).unregisterStorageUnits("foo_db",
sqlStatement.getStorageUnitNames());
+ verify(metaDataManagerPersistService).unregisterStorageUnits("foo_db",
sqlStatement.getStorageUnitNames());
}
@Test
diff --git
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
index daa416843af..90c09bf8816 100644
---
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
+++
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/DriverJDBCExecutor.java
@@ -25,7 +25,6 @@ import
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.J
import
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback;
import
org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.executor.sql.process.ProcessEngine;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import
org.apache.shardingsphere.infra.rule.attribute.datanode.DataNodeRuleAttribute;
@@ -33,6 +32,7 @@ import
org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefreshEngine;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import java.sql.SQLException;
import java.util.Collection;
@@ -48,7 +48,7 @@ public final class DriverJDBCExecutor {
private final MetaDataContexts metaDataContexts;
- private final ModeContextManager modeContextManager;
+ private final MetaDataManagerPersistService metaDataManagerPersistService;
private final JDBCExecutor jdbcExecutor;
@@ -58,7 +58,7 @@ public final class DriverJDBCExecutor {
this.databaseName = databaseName;
this.jdbcExecutor = jdbcExecutor;
metaDataContexts = contextManager.getMetaDataContexts();
- modeContextManager =
contextManager.getComputeNodeInstanceContext().getModeContextManager();
+ metaDataManagerPersistService =
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService();
}
/**
@@ -146,8 +146,8 @@ public final class DriverJDBCExecutor {
private <T> List<T> doExecute(final
ExecutionGroupContext<JDBCExecutionUnit> executionGroupContext, final
SQLStatementContext sqlStatementContext, final Collection<RouteUnit> routeUnits,
final JDBCExecutorCallback<T> callback)
throws SQLException {
List<T> results = jdbcExecutor.execute(executionGroupContext,
callback);
- new MetaDataRefreshEngine(modeContextManager,
-
metaDataContexts.getMetaData().getDatabase(sqlStatementContext.getTablesContext().getDatabaseName().orElse(databaseName)),
metaDataContexts.getMetaData().getProps())
+ new MetaDataRefreshEngine(metaDataManagerPersistService,
metaDataContexts.getMetaData().getDatabase(sqlStatementContext.getTablesContext().getDatabaseName().orElse(databaseName)),
+ metaDataContexts.getMetaData().getProps())
.refresh(sqlStatementContext, routeUnits);
return results;
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/MetaDataRefreshEngine.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/MetaDataRefreshEngine.java
index 385e1944924..a284974cb4e 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/MetaDataRefreshEngine.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/MetaDataRefreshEngine.java
@@ -21,10 +21,10 @@ import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import java.sql.SQLException;
@@ -42,7 +42,7 @@ public final class MetaDataRefreshEngine {
private static final Collection<Class<? extends SQLStatement>>
IGNORED_SQL_STATEMENT_CLASSES = Collections.newSetFromMap(new
ConcurrentHashMap<>());
- private final ModeContextManager modeContextManager;
+ private final MetaDataManagerPersistService metaDataManagerPersistService;
private final ShardingSphereDatabase database;
@@ -66,7 +66,8 @@ public final class MetaDataRefreshEngine {
String schemaName =
sqlStatementContext.getTablesContext().getSchemaName()
.orElseGet(() -> new
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDefaultSchemaName(database.getName())).toLowerCase();
Collection<String> logicDataSourceNames =
routeUnits.stream().map(each ->
each.getDataSourceMapper().getLogicName()).collect(Collectors.toList());
- schemaRefresher.get().refresh(modeContextManager, database,
logicDataSourceNames, schemaName, sqlStatementContext.getDatabaseType(),
sqlStatementContext.getSqlStatement(), props);
+ schemaRefresher.get().refresh(metaDataManagerPersistService,
database, logicDataSourceNames, schemaName,
sqlStatementContext.getDatabaseType(),
+ sqlStatementContext.getSqlStatement(), props);
return;
}
IGNORED_SQL_STATEMENT_CLASSES.add(sqlStatementClass);
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/MetaDataRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/MetaDataRefresher.java
index e9f00df3fcc..b22ff921cdb 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/MetaDataRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/MetaDataRefresher.java
@@ -19,10 +19,10 @@ package org.apache.shardingsphere.mode.metadata.refresher;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import java.sql.SQLException;
@@ -39,7 +39,7 @@ public interface MetaDataRefresher<T extends SQLStatement>
extends TypedSPI {
/**
* Refresh schema.
*
- * @param modeContextManager mode context manager
+ * @param metaDataManagerPersistService meta data manager persist service
* @param database database
* @param logicDataSourceNames route data source names
* @param schemaName schema name
@@ -48,7 +48,7 @@ public interface MetaDataRefresher<T extends SQLStatement>
extends TypedSPI {
* @param props configuration properties
* @throws SQLException SQL exception
*/
- void refresh(ModeContextManager modeContextManager, ShardingSphereDatabase
database, Collection<String> logicDataSourceNames, String schemaName,
+ void refresh(MetaDataManagerPersistService metaDataManagerPersistService,
ShardingSphereDatabase database, Collection<String> logicDataSourceNames,
String schemaName,
DatabaseType databaseType, T sqlStatement,
ConfigurationProperties props) throws SQLException;
@Override
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/AlterIndexStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/AlterIndexStatementSchemaRefresher.java
index 9d91447d24b..75e1da79c00 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/AlterIndexStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/AlterIndexStatementSchemaRefresher.java
@@ -20,13 +20,13 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.index;
import com.google.common.base.Preconditions;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereIndex;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterIndexStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl.AlterIndexStatementHandler;
@@ -40,7 +40,7 @@ import java.util.Optional;
public final class AlterIndexStatementSchemaRefresher implements
MetaDataRefresher<AlterIndexStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final AlterIndexStatement sqlStatement, final
ConfigurationProperties props) {
Optional<IndexSegment> renameIndex =
AlterIndexStatementHandler.getRenameIndexSegment(sqlStatement);
if (!sqlStatement.getIndex().isPresent() || !renameIndex.isPresent()) {
@@ -58,7 +58,7 @@ public final class AlterIndexStatementSchemaRefresher
implements MetaDataRefresh
newTable.putIndex(new ShardingSphereIndex(renameIndexName));
AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), actualSchemaName);
alterSchemaMetaDataPOJO.getAlteredTables().add(newTable);
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/CreateIndexStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/CreateIndexStatementSchemaRefresher.java
index 0a4dba15d71..a0ebfa87ec2 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/CreateIndexStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/CreateIndexStatementSchemaRefresher.java
@@ -20,13 +20,13 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.index;
import com.google.common.base.Strings;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereIndex;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
import
org.apache.shardingsphere.infra.metadata.database.schema.util.IndexMetaDataUtils;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateIndexStatement;
import java.util.Collection;
@@ -37,7 +37,7 @@ import java.util.Collection;
public final class CreateIndexStatementSchemaRefresher implements
MetaDataRefresher<CreateIndexStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final CreateIndexStatement sqlStatement, final
ConfigurationProperties props) {
String indexName = null == sqlStatement.getIndex()
?
IndexMetaDataUtils.getGeneratedLogicIndexName(sqlStatement.getColumns())
@@ -50,7 +50,7 @@ public final class CreateIndexStatementSchemaRefresher
implements MetaDataRefres
table.putIndex(new ShardingSphereIndex(indexName));
AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName);
alterSchemaMetaDataPOJO.getAlteredTables().add(table);
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
private ShardingSphereTable newShardingSphereTable(final
ShardingSphereTable table) {
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/DropIndexStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/DropIndexStatementSchemaRefresher.java
index 3cced6664b6..ddfde302a24 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/DropIndexStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/index/DropIndexStatementSchemaRefresher.java
@@ -19,13 +19,13 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.index;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
import
org.apache.shardingsphere.infra.metadata.database.schema.util.IndexMetaDataUtils;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropIndexStatement;
@@ -41,7 +41,7 @@ import java.util.Optional;
public final class DropIndexStatementSchemaRefresher implements
MetaDataRefresher<DropIndexStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final DropIndexStatement sqlStatement, final
ConfigurationProperties props) {
for (IndexSegment each : sqlStatement.getIndexes()) {
String actualSchemaName = each.getOwner().map(optional ->
optional.getIdentifier().getValue().toLowerCase()).orElse(schemaName);
@@ -53,7 +53,7 @@ public final class DropIndexStatementSchemaRefresher
implements MetaDataRefreshe
ShardingSphereTable table =
newShardingSphereTable(database.getSchema(actualSchemaName).getTable(logicTableName.get()));
table.removeIndex(each.getIndexName().getIdentifier().getValue());
alterSchemaMetaDataPOJO.getAlteredTables().add(table);
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
index 287aed09f71..27093ae1989 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
@@ -19,10 +19,10 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.schema;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaPOJO;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterSchemaStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl.AlterSchemaStatementHandler;
@@ -35,13 +35,13 @@ import java.util.Optional;
public final class AlterSchemaStatementSchemaRefresher implements
MetaDataRefresher<AlterSchemaStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final AlterSchemaStatement sqlStatement, final
ConfigurationProperties props) {
Optional<String> renameSchemaName =
AlterSchemaStatementHandler.getRenameSchema(sqlStatement).map(optional ->
optional.getValue().toLowerCase());
if (!renameSchemaName.isPresent()) {
return;
}
- modeContextManager.alterSchema(new AlterSchemaPOJO(database.getName(),
sqlStatement.getSchemaName().getValue().toLowerCase(),
+ metaDataManagerPersistService.alterSchema(new
AlterSchemaPOJO(database.getName(),
sqlStatement.getSchemaName().getValue().toLowerCase(),
renameSchemaName.get(), logicDataSourceNames));
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/CreateSchemaStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/CreateSchemaStatementSchemaRefresher.java
index 7989eaa15c8..1bbcafb1a46 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/CreateSchemaStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/CreateSchemaStatementSchemaRefresher.java
@@ -19,9 +19,9 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.schema;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateSchemaStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl.CreateSchemaStatementHandler;
@@ -33,10 +33,10 @@ import java.util.Collection;
public final class CreateSchemaStatementSchemaRefresher implements
MetaDataRefresher<CreateSchemaStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final CreateSchemaStatement sqlStatement, final
ConfigurationProperties props) {
(sqlStatement.getSchemaName().isPresent() ?
sqlStatement.getSchemaName() :
CreateSchemaStatementHandler.getUsername(sqlStatement))
- .ifPresent(optional ->
modeContextManager.createSchema(database.getName(),
optional.getValue().toLowerCase()));
+ .ifPresent(optional ->
metaDataManagerPersistService.createSchema(database.getName(),
optional.getValue().toLowerCase()));
}
@Override
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/DropSchemaStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/DropSchemaStatementSchemaRefresher.java
index f7c8aded79d..f897111d8ea 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/DropSchemaStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/DropSchemaStatementSchemaRefresher.java
@@ -19,9 +19,9 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.schema;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropSchemaStatement;
import
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
@@ -34,9 +34,9 @@ import java.util.LinkedList;
public final class DropSchemaStatementSchemaRefresher implements
MetaDataRefresher<DropSchemaStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final DropSchemaStatement sqlStatement, final
ConfigurationProperties props) {
- modeContextManager.dropSchema(database.getName(),
getSchemaNames(sqlStatement));
+ metaDataManagerPersistService.dropSchema(database.getName(),
getSchemaNames(sqlStatement));
}
private Collection<String> getSchemaNames(final DropSchemaStatement
sqlStatement) {
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/AlterTableStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/AlterTableStatementSchemaRefresher.java
index 606844881af..49eb76aba8c 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/AlterTableStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/AlterTableStatementSchemaRefresher.java
@@ -19,7 +19,6 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.table;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilder;
@@ -30,6 +29,7 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchema
import
org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
import
org.apache.shardingsphere.mode.metadata.refresher.util.TableRefreshUtils;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterTableStatement;
import java.sql.SQLException;
@@ -45,7 +45,7 @@ import java.util.Optional;
public final class AlterTableStatementSchemaRefresher implements
MetaDataRefresher<AlterTableStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final AlterTableStatement sqlStatement, final
ConfigurationProperties props) throws SQLException {
String tableName = TableRefreshUtils.getTableName(databaseType,
sqlStatement.getTable().getTableName().getIdentifier());
AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
@@ -56,7 +56,7 @@ public final class AlterTableStatementSchemaRefresher
implements MetaDataRefresh
} else {
alterSchemaMetaDataPOJO.getAlteredTables().add(getTable(database,
logicDataSourceNames, schemaName, tableName, props));
}
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
private ShardingSphereTable getTable(final ShardingSphereDatabase
database, final Collection<String> logicDataSourceNames, final String
schemaName,
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/CreateTableStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/CreateTableStatementSchemaRefresher.java
index 5fd8e2bc41f..0a5bf53c534 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/CreateTableStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/CreateTableStatementSchemaRefresher.java
@@ -19,7 +19,6 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.table;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilder;
@@ -30,6 +29,7 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchema
import
org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
import
org.apache.shardingsphere.mode.metadata.refresher.util.TableRefreshUtils;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateTableStatement;
import java.sql.SQLException;
@@ -45,7 +45,7 @@ import java.util.Optional;
public final class CreateTableStatementSchemaRefresher implements
MetaDataRefresher<CreateTableStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final CreateTableStatement sqlStatement, final
ConfigurationProperties props) throws SQLException {
String tableName = TableRefreshUtils.getTableName(databaseType,
sqlStatement.getTable().getTableName().getIdentifier());
RuleMetaData ruleMetaData = new RuleMetaData(new
LinkedList<>(database.getRuleMetaData().getRules()));
@@ -60,9 +60,9 @@ public final class CreateTableStatementSchemaRefresher
implements MetaDataRefres
if (actualTableMetaData.isPresent()) {
AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
alterSchemaMetaDataPOJO.getAlteredTables().add(actualTableMetaData.get());
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
if (isSingleTable &&
TableRefreshUtils.isRuleRefreshRequired(ruleMetaData, schemaName, tableName)) {
-
modeContextManager.alterSingleRuleConfiguration(database.getName(),
ruleMetaData.getConfigurations());
+
metaDataManagerPersistService.alterSingleRuleConfiguration(database.getName(),
ruleMetaData.getConfigurations());
}
}
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/DropTableStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/DropTableStatementSchemaRefresher.java
index 136c9d5d179..6fc169d87b3 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/DropTableStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/DropTableStatementSchemaRefresher.java
@@ -19,11 +19,11 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.table;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
import
org.apache.shardingsphere.mode.metadata.refresher.util.TableRefreshUtils;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropTableStatement;
@@ -35,15 +35,15 @@ import java.util.Collection;
public final class DropTableStatementSchemaRefresher implements
MetaDataRefresher<DropTableStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final DropTableStatement sqlStatement, final
ConfigurationProperties props) {
AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName);
sqlStatement.getTables().forEach(each ->
alterSchemaMetaDataPOJO.getDroppedTables().add(each.getTableName().getIdentifier().getValue()));
boolean isRuleRefreshRequired =
TableRefreshUtils.isRuleRefreshRequired(database.getRuleMetaData(), schemaName,
sqlStatement.getTables());
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
for (SimpleTableSegment each : sqlStatement.getTables()) {
if (isRuleRefreshRequired &&
TableRefreshUtils.isSingleTable(each.getTableName().getIdentifier().getValue(),
database)) {
-
modeContextManager.alterSingleRuleConfiguration(database.getName(),
database.getRuleMetaData().getConfigurations());
+
metaDataManagerPersistService.alterSingleRuleConfiguration(database.getName(),
database.getRuleMetaData().getConfigurations());
break;
}
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/RenameTableStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/RenameTableStatementSchemaRefresher.java
index d357e623319..10420dad26f 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/RenameTableStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/RenameTableStatementSchemaRefresher.java
@@ -19,7 +19,6 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.table;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilder;
@@ -30,6 +29,7 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchema
import
org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
import
org.apache.shardingsphere.mode.metadata.refresher.util.TableRefreshUtils;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.table.RenameTableDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.RenameTableStatement;
@@ -46,14 +46,14 @@ import java.util.Optional;
public final class RenameTableStatementSchemaRefresher implements
MetaDataRefresher<RenameTableStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final RenameTableStatement sqlStatement, final
ConfigurationProperties props) throws SQLException {
for (RenameTableDefinitionSegment each :
sqlStatement.getRenameTables()) {
AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
alterSchemaMetaDataPOJO.getAlteredTables().add(getTable(database,
logicDataSourceNames, schemaName,
TableRefreshUtils.getTableName(databaseType,
each.getRenameTable().getTableName().getIdentifier()), props));
alterSchemaMetaDataPOJO.getDroppedTables().add(each.getTable().getTableName().getIdentifier().getValue());
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/AlterViewStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/AlterViewStatementSchemaRefresher.java
index 6df2f299c57..6a3c5e623e6 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/AlterViewStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/AlterViewStatementSchemaRefresher.java
@@ -19,7 +19,6 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.view;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilder;
@@ -31,6 +30,7 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchema
import
org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
import
org.apache.shardingsphere.mode.metadata.refresher.util.TableRefreshUtils;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterViewStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl.AlterViewStatementHandler;
@@ -48,7 +48,7 @@ import java.util.Optional;
public final class AlterViewStatementSchemaRefresher implements
MetaDataRefresher<AlterViewStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final AlterViewStatement sqlStatement, final
ConfigurationProperties props) throws SQLException {
String viewName = TableRefreshUtils.getTableName(databaseType,
sqlStatement.getView().getTableName().getIdentifier());
AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
@@ -68,7 +68,7 @@ public final class AlterViewStatementSchemaRefresher
implements MetaDataRefreshe
alterSchemaMetaDataPOJO.getAlteredTables().add(schema.getTable(viewName));
alterSchemaMetaDataPOJO.getAlteredViews().add(schema.getView(viewName));
}
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
private ShardingSphereSchema getSchema(final ShardingSphereDatabase
database, final Collection<String> logicDataSourceNames,
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/CreateViewStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/CreateViewStatementSchemaRefresher.java
index 60a3bc41714..ccd8df57024 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/CreateViewStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/CreateViewStatementSchemaRefresher.java
@@ -19,7 +19,6 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.view;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilder;
@@ -31,6 +30,7 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchema
import
org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
import
org.apache.shardingsphere.mode.metadata.refresher.util.TableRefreshUtils;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateViewStatement;
import java.sql.SQLException;
@@ -46,7 +46,7 @@ import java.util.Optional;
public final class CreateViewStatementSchemaRefresher implements
MetaDataRefresher<CreateViewStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final CreateViewStatement sqlStatement, final
ConfigurationProperties props) throws SQLException {
String viewName = TableRefreshUtils.getTableName(databaseType,
sqlStatement.getView().getTableName().getIdentifier());
RuleMetaData ruleMetaData = new RuleMetaData(new
LinkedList<>(database.getRuleMetaData().getRules()));
@@ -61,7 +61,7 @@ public final class CreateViewStatementSchemaRefresher
implements MetaDataRefresh
AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
alterSchemaMetaDataPOJO.getAlteredTables().add(actualTableMetaData.get());
alterSchemaMetaDataPOJO.getAlteredViews().add(new
ShardingSphereView(viewName, sqlStatement.getViewDefinition()));
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/DropViewStatementSchemaRefresher.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/DropViewStatementSchemaRefresher.java
index e5c77ce59f8..4e847ea9eb9 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/DropViewStatementSchemaRefresher.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/DropViewStatementSchemaRefresher.java
@@ -19,10 +19,10 @@ package
org.apache.shardingsphere.mode.metadata.refresher.type.view;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
import org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropViewStatement;
import java.util.Collection;
@@ -33,7 +33,7 @@ import java.util.Collection;
public final class DropViewStatementSchemaRefresher implements
MetaDataRefresher<DropViewStatement> {
@Override
- public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
+ public void refresh(final MetaDataManagerPersistService
metaDataManagerPersistService, final ShardingSphereDatabase database, final
Collection<String> logicDataSourceNames,
final String schemaName, final DatabaseType
databaseType, final DropViewStatement sqlStatement, final
ConfigurationProperties props) {
AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName);
sqlStatement.getViews().forEach(each -> {
@@ -41,7 +41,7 @@ public final class DropViewStatementSchemaRefresher
implements MetaDataRefresher
alterSchemaMetaDataPOJO.getDroppedTables().add(viewName);
alterSchemaMetaDataPOJO.getDroppedViews().add(viewName);
});
- modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
+
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
index be3c61eef67..0d477c8b0e4 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
@@ -30,7 +30,6 @@ import
org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
import org.apache.shardingsphere.metadata.persist.MetaDataPersistService;
import org.apache.shardingsphere.mode.lock.GlobalLockContext;
import org.apache.shardingsphere.mode.manager.ContextManager;
-import org.apache.shardingsphere.mode.manager.ContextManagerAware;
import org.apache.shardingsphere.mode.manager.ContextManagerBuilder;
import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
import
org.apache.shardingsphere.mode.manager.cluster.coordinator.lock.GlobalLockPersistService;
@@ -71,7 +70,6 @@ public final class ClusterContextManagerBuilder implements
ContextManagerBuilder
MetaDataPersistService metaDataPersistService = new
MetaDataPersistService(repository);
MetaDataContexts metaDataContexts =
MetaDataContextsFactory.create(metaDataPersistService, param,
computeNodeInstanceContext, new
QualifiedDataSourceStatusService(repository).loadStatus());
ContextManager result = new ContextManager(metaDataContexts,
computeNodeInstanceContext);
- setContextManagerAware(result);
createSubscribers(eventBusContext, repository);
registerOnline(eventBusContext, computeNodeInstanceContext,
repository, param, result);
setClusterState(result);
@@ -87,8 +85,9 @@ public final class ClusterContextManagerBuilder implements
ContextManagerBuilder
private ComputeNodeInstanceContext buildComputeNodeInstanceContext(final
ModeConfiguration modeConfig,
final
InstanceMetaData instanceMetaData, final ClusterPersistRepository repository,
final EventBusContext eventBusContext) {
- return new ComputeNodeInstanceContext(new
ComputeNodeInstance(instanceMetaData), new ClusterWorkerIdGenerator(repository,
instanceMetaData.getId()), modeConfig,
- new ClusterModeContextManager(), new GlobalLockContext(new
GlobalLockPersistService(initDistributedLockHolder(repository))),
eventBusContext);
+ return new ComputeNodeInstanceContext(new
ComputeNodeInstance(instanceMetaData),
+ new ClusterWorkerIdGenerator(repository,
instanceMetaData.getId()), modeConfig,
+ new GlobalLockContext(new
GlobalLockPersistService(initDistributedLockHolder(repository))),
eventBusContext);
}
private DistributedLockHolder initDistributedLockHolder(final
ClusterPersistRepository repository) {
@@ -96,10 +95,6 @@ public final class ClusterContextManagerBuilder implements
ContextManagerBuilder
return null == distributedLockHolder ? new
DistributedLockHolder("default", repository, new DefaultLockTypedProperties(new
Properties())) : distributedLockHolder;
}
- private void setContextManagerAware(final ContextManager contextManager) {
- ((ContextManagerAware)
contextManager.getComputeNodeInstanceContext().getModeContextManager()).setContextManager(contextManager);
- }
-
// TODO remove the method, only keep ZooKeeper's events, remove all
decouple events
private void createSubscribers(final EventBusContext eventBusContext,
final ClusterPersistRepository repository) {
eventBusContext.register(new
QualifiedDataSourceStatusSubscriber(repository));
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
deleted file mode 100644
index 6c4beefb71d..00000000000
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.mode.manager.cluster;
-
-import lombok.Setter;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
-import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
-import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
-import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
-import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaPOJO;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
-import
org.apache.shardingsphere.metadata.persist.service.config.database.DatabaseBasedPersistService;
-import
org.apache.shardingsphere.metadata.persist.service.database.DatabaseMetaDataPersistService;
-import org.apache.shardingsphere.mode.manager.ContextManager;
-import org.apache.shardingsphere.mode.manager.ContextManagerAware;
-import org.apache.shardingsphere.single.api.config.SingleRuleConfiguration;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Properties;
-import java.util.stream.Collectors;
-
-/**
- * Cluster mode context manager.
- */
-@Setter
-public final class ClusterModeContextManager implements ModeContextManager,
ContextManagerAware {
-
- private ContextManager contextManager;
-
- @Override
- public void createDatabase(final String databaseName) {
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService().addDatabase(databaseName);
- }
-
- @Override
- public void dropDatabase(final String databaseName) {
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService().dropDatabase(databaseName);
- }
-
- @Override
- public void createSchema(final String databaseName, final String
schemaName) {
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService().addSchema(databaseName,
schemaName);
- }
-
- @Override
- public void alterSchema(final AlterSchemaPOJO alterSchemaPOJO) {
- String databaseName = alterSchemaPOJO.getDatabaseName();
- String schemaName = alterSchemaPOJO.getSchemaName();
- ShardingSphereSchema schema =
contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName).getSchema(schemaName);
- DatabaseMetaDataPersistService databaseMetaDataService =
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService();
- databaseMetaDataService.persistByAlterConfiguration(databaseName,
alterSchemaPOJO.getRenameSchemaName(), schema);
-
databaseMetaDataService.getViewMetaDataPersistService().persist(databaseName,
alterSchemaPOJO.getRenameSchemaName(), schema.getViews());
- databaseMetaDataService.dropSchema(databaseName, schemaName);
- }
-
- @Override
- public void dropSchema(final String databaseName, final Collection<String>
schemaNames) {
- DatabaseMetaDataPersistService databaseMetaDataService =
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService();
- schemaNames.forEach(each ->
databaseMetaDataService.dropSchema(databaseName, each));
- }
-
- @Override
- public void alterSchemaMetaData(final AlterSchemaMetaDataPOJO
alterSchemaMetaDataPOJO) {
- String databaseName = alterSchemaMetaDataPOJO.getDatabaseName();
- String schemaName = alterSchemaMetaDataPOJO.getSchemaName();
- Map<String, ShardingSphereTable> tables =
alterSchemaMetaDataPOJO.getAlteredTables().stream().collect(Collectors.toMap(ShardingSphereTable::getName,
table -> table));
- Map<String, ShardingSphereView> views =
alterSchemaMetaDataPOJO.getAlteredViews().stream().collect(Collectors.toMap(ShardingSphereView::getName,
view -> view));
- DatabaseMetaDataPersistService databaseMetaDataService =
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService();
-
databaseMetaDataService.getTableMetaDataPersistService().persist(databaseName,
schemaName, tables);
-
databaseMetaDataService.getViewMetaDataPersistService().persist(databaseName,
schemaName, views);
- alterSchemaMetaDataPOJO.getDroppedTables().forEach(each ->
databaseMetaDataService.getTableMetaDataPersistService().delete(databaseName,
schemaName, each));
- alterSchemaMetaDataPOJO.getDroppedViews().forEach(each ->
databaseMetaDataService.getViewMetaDataPersistService().delete(databaseName,
schemaName, each));
- }
-
- @Override
- public void registerStorageUnits(final String databaseName, final
Map<String, DataSourcePoolProperties> toBeRegisteredProps) {
-
contextManager.getMetaDataContexts().getPersistService().getDataSourceUnitService().persistConfigurations(databaseName,
toBeRegisteredProps);
- }
-
- @Override
- public void alterStorageUnits(final String databaseName, final Map<String,
DataSourcePoolProperties> toBeUpdatedProps) {
- DatabaseBasedPersistService<Map<String, DataSourcePoolProperties>>
dataSourceService =
contextManager.getMetaDataContexts().getPersistService().getDataSourceUnitService();
-
contextManager.getMetaDataContexts().getPersistService().getMetaDataVersionPersistService().switchActiveVersion(dataSourceService.persistConfigurations(databaseName,
toBeUpdatedProps));
- }
-
- @Override
- public void unregisterStorageUnits(final String databaseName, final
Collection<String> toBeDroppedStorageUnitNames) {
-
contextManager.getMetaDataContexts().getPersistService().getDataSourceUnitService().deleteConfigurations(databaseName,
-
getToBeDroppedDataSourcePoolProperties(contextManager.getMetaDataContexts().getPersistService().getDataSourceUnitService().load(databaseName),
toBeDroppedStorageUnitNames));
- }
-
- private Map<String, DataSourcePoolProperties>
getToBeDroppedDataSourcePoolProperties(final Map<String,
DataSourcePoolProperties> propsMap, final Collection<String>
toBeDroppedResourceNames) {
- Map<String, DataSourcePoolProperties> result = new
LinkedHashMap<>(toBeDroppedResourceNames.size(), 1F);
- for (String each : toBeDroppedResourceNames) {
- if (propsMap.containsKey(each)) {
- result.put(each, propsMap.get(each));
- }
- }
- return result;
- }
-
- @Override
- public void alterSingleRuleConfiguration(final String databaseName, final
Collection<RuleConfiguration> ruleConfigs) {
- ruleConfigs.removeIf(each ->
!each.getClass().isAssignableFrom(SingleRuleConfiguration.class));
-
contextManager.getMetaDataContexts().getPersistService().getMetaDataVersionPersistService()
-
.switchActiveVersion(contextManager.getMetaDataContexts().getPersistService().getDatabaseRulePersistService().persistConfigurations(databaseName,
ruleConfigs));
- }
-
- @Override
- public Collection<MetaDataVersion> alterRuleConfiguration(final String
databaseName, final RuleConfiguration toBeAlteredRuleConfig) {
- if (null != toBeAlteredRuleConfig) {
- return
contextManager.getMetaDataContexts().getPersistService().getDatabaseRulePersistService().persistConfigurations(databaseName,
Collections.singleton(toBeAlteredRuleConfig));
- }
- return Collections.emptyList();
- }
-
- @Override
- public void removeRuleConfigurationItem(final String databaseName, final
RuleConfiguration toBeRemovedRuleConfig) {
- if (null != toBeRemovedRuleConfig) {
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseRulePersistService().deleteConfigurations(databaseName,
Collections.singleton(toBeRemovedRuleConfig));
- }
- }
-
- @Override
- public void removeRuleConfiguration(final String databaseName, final
String ruleName) {
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseRulePersistService().delete(databaseName,
ruleName);
- }
-
- @Override
- public void alterGlobalRuleConfiguration(final RuleConfiguration
toBeAlteredRuleConfig) {
-
contextManager.getMetaDataContexts().getPersistService().getGlobalRuleService().persist(Collections.singleton(toBeAlteredRuleConfig));
- }
-
- @Override
- public void alterProperties(final Properties props) {
-
contextManager.getMetaDataContexts().getPersistService().getPropsService().persist(props);
- }
-}
diff --git
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
index cf02100f714..a6048e66907 100644
---
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
+++
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
@@ -51,17 +51,12 @@ public final class StandaloneContextManagerBuilder
implements ContextManagerBuil
MetaDataContexts metaDataContexts =
MetaDataContextsFactory.create(persistService, param,
computeNodeInstanceContext);
ContextManager result = new ContextManager(metaDataContexts,
computeNodeInstanceContext);
new StandaloneEventSubscriberRegistry(result).register();
- setContextManagerAware(result);
return result;
}
private ComputeNodeInstanceContext buildComputeNodeInstanceContext(final
ContextManagerBuilderParameter param, final EventBusContext eventBusContext) {
return new ComputeNodeInstanceContext(new
ComputeNodeInstance(param.getInstanceMetaData()),
- new StandaloneWorkerIdGenerator(),
param.getModeConfiguration(), new StandaloneModeContextManager(), new
GlobalLockContext(null), eventBusContext);
- }
-
- private void setContextManagerAware(final ContextManager contextManager) {
- ((StandaloneModeContextManager)
contextManager.getComputeNodeInstanceContext().getModeContextManager()).setContextManager(contextManager);
+ new StandaloneWorkerIdGenerator(),
param.getModeConfiguration(), new GlobalLockContext(null), eventBusContext);
}
@Override
diff --git
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
deleted file mode 100644
index 9d26da96625..00000000000
---
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.mode.manager.standalone;
-
-import com.google.common.base.Strings;
-import lombok.Setter;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
-import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
-import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
-import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
-import
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaPOJO;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
-import
org.apache.shardingsphere.infra.rule.attribute.datanode.MutableDataNodeRuleAttribute;
-import org.apache.shardingsphere.infra.rule.scope.GlobalRule;
-import
org.apache.shardingsphere.infra.rule.scope.GlobalRule.GlobalRuleChangedType;
-import
org.apache.shardingsphere.infra.spi.type.ordered.cache.OrderedServicesCache;
-import
org.apache.shardingsphere.metadata.persist.service.config.database.DatabaseBasedPersistService;
-import
org.apache.shardingsphere.metadata.persist.service.database.DatabaseMetaDataPersistService;
-import org.apache.shardingsphere.mode.event.DataChangedEvent;
-import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
-import org.apache.shardingsphere.mode.manager.ContextManager;
-import org.apache.shardingsphere.mode.manager.ContextManagerAware;
-import org.apache.shardingsphere.mode.manager.switcher.ResourceSwitchManager;
-import org.apache.shardingsphere.mode.manager.switcher.SwitchingResource;
-import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
-import
org.apache.shardingsphere.mode.metadata.builder.RuleConfigurationEventBuilder;
-import
org.apache.shardingsphere.mode.metadata.refresher.util.TableRefreshUtils;
-import org.apache.shardingsphere.single.api.config.SingleRuleConfiguration;
-
-import java.sql.SQLException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-import java.util.Properties;
-import java.util.stream.Collectors;
-
-/**
- * Standalone mode context manager.
- */
-@Setter
-public final class StandaloneModeContextManager implements ModeContextManager,
ContextManagerAware {
-
- private final RuleConfigurationEventBuilder ruleConfigurationEventBuilder
= new RuleConfigurationEventBuilder();
-
- private ContextManager contextManager;
-
- @Override
- public void createDatabase(final String databaseName) {
-
contextManager.getResourceMetaDataContextManager().addDatabase(databaseName);
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService().addDatabase(databaseName);
- clearServiceCache();
- }
-
- @Override
- public void dropDatabase(final String databaseName) {
-
contextManager.getResourceMetaDataContextManager().dropDatabase(databaseName);
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService().dropDatabase(databaseName);
- clearServiceCache();
- }
-
- @Override
- public void createSchema(final String databaseName, final String
schemaName) {
- ShardingSphereSchema schema = new ShardingSphereSchema();
- ShardingSphereMetaData metaData =
contextManager.getMetaDataContexts().getMetaData();
- ShardingSphereDatabase database = metaData.getDatabase(databaseName);
- database.addSchema(schemaName, schema);
- metaData.getGlobalRuleMetaData().getRules().forEach(each ->
((GlobalRule) each).refresh(metaData.getDatabases(),
GlobalRuleChangedType.SCHEMA_CHANGED));
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService().persistByAlterConfiguration(databaseName,
schemaName, schema);
- }
-
- @Override
- public void alterSchema(final AlterSchemaPOJO alterSchemaPOJO) {
- ShardingSphereMetaData metaData =
contextManager.getMetaDataContexts().getMetaData();
- ShardingSphereDatabase database =
metaData.getDatabase(alterSchemaPOJO.getDatabaseName());
- putSchemaMetaData(database, alterSchemaPOJO.getSchemaName(),
alterSchemaPOJO.getRenameSchemaName(),
alterSchemaPOJO.getLogicDataSourceName());
- removeSchemaMetaData(database, alterSchemaPOJO.getSchemaName());
- metaData.getGlobalRuleMetaData().getRules().forEach(each ->
((GlobalRule) each).refresh(metaData.getDatabases(),
GlobalRuleChangedType.SCHEMA_CHANGED));
- DatabaseMetaDataPersistService databaseMetaDataService =
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService();
-
databaseMetaDataService.persistByAlterConfiguration(alterSchemaPOJO.getDatabaseName(),
alterSchemaPOJO.getRenameSchemaName(),
database.getSchema(alterSchemaPOJO.getRenameSchemaName()));
-
databaseMetaDataService.getViewMetaDataPersistService().persist(alterSchemaPOJO.getDatabaseName(),
alterSchemaPOJO.getRenameSchemaName(),
-
database.getSchema(alterSchemaPOJO.getRenameSchemaName()).getViews());
- databaseMetaDataService.dropSchema(alterSchemaPOJO.getDatabaseName(),
alterSchemaPOJO.getSchemaName());
- }
-
- private void putSchemaMetaData(final ShardingSphereDatabase database,
final String schemaName, final String renameSchemaName, final String
logicDataSourceName) {
- ShardingSphereSchema schema = database.getSchema(schemaName);
- database.addSchema(renameSchemaName, schema);
- addDataNode(database, logicDataSourceName, schemaName,
schema.getAllTableNames());
- }
-
- private void addDataNode(final ShardingSphereDatabase database, final
String logicDataSourceName, final String schemaName, final Collection<String>
tobeAddedTableNames) {
- tobeAddedTableNames.forEach(each -> {
- if (!Strings.isNullOrEmpty(logicDataSourceName) &&
TableRefreshUtils.isSingleTable(each, database)) {
-
database.getRuleMetaData().getAttributes(MutableDataNodeRuleAttribute.class).forEach(rule
-> rule.put(logicDataSourceName, schemaName, each));
- }
- });
- }
-
- private void addDataNode(final ShardingSphereDatabase database, final
String logicDataSourceName, final String schemaName, final Map<String,
ShardingSphereTable> toBeAddedTables,
- final Map<String, ShardingSphereView>
toBeAddedViews) {
- addTablesToDataNode(database, schemaName, logicDataSourceName,
toBeAddedTables);
- addViewsToDataNode(database, schemaName, logicDataSourceName,
toBeAddedTables, toBeAddedViews);
- }
-
- private void addTablesToDataNode(final ShardingSphereDatabase database,
final String schemaName, final String logicDataSourceName, final Map<String,
ShardingSphereTable> toBeAddedTables) {
- for (Entry<String, ShardingSphereTable> entry :
toBeAddedTables.entrySet()) {
- if (!Strings.isNullOrEmpty(logicDataSourceName) &&
TableRefreshUtils.isSingleTable(entry.getKey(), database)) {
-
database.getRuleMetaData().getAttributes(MutableDataNodeRuleAttribute.class).forEach(rule
-> rule.put(logicDataSourceName, schemaName, entry.getKey()));
- }
- database.getSchema(schemaName).putTable(entry.getKey(),
entry.getValue());
- }
- }
-
- private void addViewsToDataNode(final ShardingSphereDatabase database,
final String schemaName, final String logicDataSourceName,
- final Map<String, ShardingSphereTable>
toBeAddedTables, final Map<String, ShardingSphereView> toBeAddedViews) {
- for (Entry<String, ShardingSphereView> entry :
toBeAddedViews.entrySet()) {
- if (!Strings.isNullOrEmpty(logicDataSourceName) &&
TableRefreshUtils.isSingleTable(entry.getKey(), database)) {
-
database.getRuleMetaData().getAttributes(MutableDataNodeRuleAttribute.class).forEach(each
-> each.put(logicDataSourceName, schemaName, entry.getKey()));
- }
- database.getSchema(schemaName).putTable(entry.getKey(),
toBeAddedTables.get(entry.getKey().toLowerCase()));
- database.getSchema(schemaName).putView(entry.getKey(),
entry.getValue());
- }
- }
-
- private void removeSchemaMetaData(final ShardingSphereDatabase database,
final String schemaName) {
- ShardingSphereSchema schema = new
ShardingSphereSchema(database.getSchema(schemaName).getTables(),
database.getSchema(schemaName).getViews());
- database.dropSchema(schemaName);
-
removeDataNode(database.getRuleMetaData().getAttributes(MutableDataNodeRuleAttribute.class),
Collections.singletonList(schemaName), schema.getAllTableNames());
- }
-
- private void removeDataNode(final Collection<MutableDataNodeRuleAttribute>
ruleAttributes, final Collection<String> schemaNames, final Collection<String>
tobeRemovedTables) {
- tobeRemovedTables.forEach(each -> ruleAttributes.forEach(rule ->
rule.remove(schemaNames, each)));
- }
-
- private void removeDataNode(final ShardingSphereDatabase database, final
String schemaName, final Collection<String> tobeRemovedTables, final
Collection<String> tobeRemovedViews) {
- removeTablesToDataNode(database, schemaName, tobeRemovedTables);
- removeViewsToDataNode(database, schemaName, tobeRemovedTables,
tobeRemovedViews);
- }
-
- private void removeDataNode(final Collection<MutableDataNodeRuleAttribute>
ruleAttributes, final String schemaName, final Collection<String>
tobeRemovedTables) {
- tobeRemovedTables.forEach(each -> ruleAttributes.forEach(rule ->
rule.remove(schemaName, each)));
- }
-
- private void removeTablesToDataNode(final ShardingSphereDatabase database,
final String schemaName, final Collection<String> toBeDroppedTables) {
-
removeDataNode(database.getRuleMetaData().getAttributes(MutableDataNodeRuleAttribute.class),
schemaName, toBeDroppedTables);
- toBeDroppedTables.forEach(each ->
database.getSchema(schemaName).removeTable(each));
- }
-
- private void removeViewsToDataNode(final ShardingSphereDatabase database,
final String schemaName, final Collection<String> toBeDroppedTables, final
Collection<String> toBeDroppedViews) {
-
removeDataNode(database.getRuleMetaData().getAttributes(MutableDataNodeRuleAttribute.class),
schemaName, toBeDroppedViews);
- ShardingSphereSchema schema = database.getSchema(schemaName);
- toBeDroppedTables.forEach(schema::removeTable);
- toBeDroppedViews.forEach(schema::removeView);
- }
-
- @Override
- public void dropSchema(final String databaseName, final Collection<String>
schemaNames) {
- Collection<String> tobeRemovedTables = new LinkedHashSet<>();
- Collection<String> tobeRemovedSchemas = new
LinkedHashSet<>(schemaNames.size(), 1F);
- ShardingSphereMetaData metaData =
contextManager.getMetaDataContexts().getMetaData();
- ShardingSphereDatabase database = metaData.getDatabase(databaseName);
- for (String each : schemaNames) {
- ShardingSphereSchema schema = new
ShardingSphereSchema(database.getSchema(each).getTables(),
database.getSchema(each).getViews());
- database.dropSchema(each);
- Optional.of(schema).ifPresent(optional ->
tobeRemovedTables.addAll(optional.getAllTableNames()));
- tobeRemovedSchemas.add(each.toLowerCase());
- }
-
removeDataNode(database.getRuleMetaData().getAttributes(MutableDataNodeRuleAttribute.class),
tobeRemovedSchemas, tobeRemovedTables);
- metaData.getGlobalRuleMetaData().getRules().forEach(each ->
((GlobalRule) each).refresh(metaData.getDatabases(),
GlobalRuleChangedType.SCHEMA_CHANGED));
- }
-
- @Override
- public void alterSchemaMetaData(final AlterSchemaMetaDataPOJO
alterSchemaMetaDataPOJO) {
- String databaseName = alterSchemaMetaDataPOJO.getDatabaseName();
- String schemaName = alterSchemaMetaDataPOJO.getSchemaName();
- ShardingSphereMetaData metaData =
contextManager.getMetaDataContexts().getMetaData();
- ShardingSphereDatabase database = metaData.getDatabase(databaseName);
- Map<String, ShardingSphereTable> tables =
alterSchemaMetaDataPOJO.getAlteredTables().stream().collect(Collectors.toMap(ShardingSphereTable::getName,
table -> table));
- Map<String, ShardingSphereView> views =
alterSchemaMetaDataPOJO.getAlteredViews().stream().collect(Collectors.toMap(ShardingSphereView::getName,
view -> view));
- addDataNode(database,
alterSchemaMetaDataPOJO.getLogicDataSourceName(), schemaName, tables, views);
- removeDataNode(database, schemaName,
alterSchemaMetaDataPOJO.getDroppedTables(),
alterSchemaMetaDataPOJO.getDroppedViews());
- metaData.getGlobalRuleMetaData().getRules().forEach(each ->
((GlobalRule) each).refresh(metaData.getDatabases(),
GlobalRuleChangedType.SCHEMA_CHANGED));
- DatabaseMetaDataPersistService databaseMetaDataService =
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService();
-
databaseMetaDataService.getTableMetaDataPersistService().persist(databaseName,
schemaName, tables);
-
databaseMetaDataService.getViewMetaDataPersistService().persist(databaseName,
schemaName, views);
- alterSchemaMetaDataPOJO.getDroppedTables().forEach(each ->
databaseMetaDataService.getTableMetaDataPersistService().delete(databaseName,
schemaName, each));
- alterSchemaMetaDataPOJO.getDroppedViews().forEach(each ->
databaseMetaDataService.getViewMetaDataPersistService().delete(databaseName,
schemaName, each));
- }
-
- @Override
- public void registerStorageUnits(final String databaseName, final
Map<String, DataSourcePoolProperties> toBeRegisteredProps) throws SQLException {
- SwitchingResource switchingResource =
- new
ResourceSwitchManager().registerStorageUnit(contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName).getResourceMetaData(),
toBeRegisteredProps);
-
contextManager.getMetaDataContexts().getMetaData().getDatabases().putAll(contextManager.getConfigurationContextManager().createChangedDatabases(databaseName,
false, switchingResource, null));
-
contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules()
- .forEach(each -> ((GlobalRule)
each).refresh(contextManager.getMetaDataContexts().getMetaData().getDatabases(),
GlobalRuleChangedType.DATABASE_CHANGED));
-
contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName).getSchemas()
- .forEach((schemaName, schema) ->
contextManager.getMetaDataContexts().getPersistService().getDatabaseMetaDataService()
-
.persistByAlterConfiguration(contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName).getName(),
schemaName, schema));
- DatabaseBasedPersistService<Map<String, DataSourcePoolProperties>>
dataSourceService =
contextManager.getMetaDataContexts().getPersistService().getDataSourceUnitService();
-
contextManager.getMetaDataContexts().getPersistService().getMetaDataVersionPersistService().switchActiveVersion(dataSourceService.persistConfigurations(databaseName,
toBeRegisteredProps));
- clearServiceCache();
- }
-
- @Override
- public void alterStorageUnits(final String databaseName, final Map<String,
DataSourcePoolProperties> toBeUpdatedProps) throws SQLException {
- SwitchingResource switchingResource =
- new
ResourceSwitchManager().alterStorageUnit(contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName).getResourceMetaData(),
toBeUpdatedProps);
-
contextManager.getMetaDataContexts().getMetaData().getDatabases().putAll(contextManager.getConfigurationContextManager().createChangedDatabases(databaseName,
true, switchingResource, null));
-
contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules()
- .forEach(each -> ((GlobalRule)
each).refresh(contextManager.getMetaDataContexts().getMetaData().getDatabases(),
GlobalRuleChangedType.DATABASE_CHANGED));
- DatabaseBasedPersistService<Map<String, DataSourcePoolProperties>>
dataSourceService =
contextManager.getMetaDataContexts().getPersistService().getDataSourceUnitService();
-
contextManager.getMetaDataContexts().getPersistService().getMetaDataVersionPersistService().switchActiveVersion(dataSourceService.persistConfigurations(databaseName,
toBeUpdatedProps));
- switchingResource.closeStaleDataSources();
- clearServiceCache();
- }
-
- @Override
- public void unregisterStorageUnits(final String databaseName, final
Collection<String> toBeDroppedStorageUnitNames) throws SQLException {
- SwitchingResource switchingResource =
- new
ResourceSwitchManager().unregisterStorageUnit(contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName).getResourceMetaData(),
toBeDroppedStorageUnitNames);
- contextManager.getMetaDataContexts().getMetaData().getDatabases()
-
.putAll(contextManager.getConfigurationContextManager().renewDatabase(contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName),
switchingResource));
- MetaDataContexts reloadMetaDataContexts =
contextManager.getConfigurationContextManager().createMetaDataContexts(databaseName,
false, switchingResource, null);
-
contextManager.getConfigurationContextManager().alterSchemaMetaData(databaseName,
reloadMetaDataContexts.getMetaData().getDatabase(databaseName),
-
contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName),
true);
- contextManager.deletedSchemaNames(databaseName,
reloadMetaDataContexts.getMetaData().getDatabase(databaseName),
contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName));
- contextManager.renewMetaDataContexts(reloadMetaDataContexts);
- switchingResource.closeStaleDataSources();
- clearServiceCache();
- }
-
- @Override
- public void alterSingleRuleConfiguration(final String databaseName, final
Collection<RuleConfiguration> ruleConfigs) {
- ruleConfigs.removeIf(each ->
!each.getClass().isAssignableFrom(SingleRuleConfiguration.class));
- Collection<MetaDataVersion> metaDataVersions =
contextManager.getMetaDataContexts().getPersistService().getDatabaseRulePersistService()
-
.persistConfigurations(contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName).getName(),
ruleConfigs);
-
contextManager.getMetaDataContexts().getPersistService().getMetaDataVersionPersistService().switchActiveVersion(metaDataVersions);
-
contextManager.getConfigurationContextManager().alterRuleConfiguration(databaseName,
ruleConfigs.iterator().next());
- clearServiceCache();
- }
-
- @Override
- public Collection<MetaDataVersion> alterRuleConfiguration(final String
databaseName, final RuleConfiguration toBeAlteredRuleConfig) {
- if (null != toBeAlteredRuleConfig) {
- Collection<MetaDataVersion> metaDataVersions =
contextManager.getMetaDataContexts().getPersistService().getDatabaseRulePersistService()
-
.persistConfigurations(contextManager.getMetaDataContexts().getMetaData().getDatabase(databaseName).getName(),
Collections.singletonList(toBeAlteredRuleConfig));
-
contextManager.getMetaDataContexts().getPersistService().getMetaDataVersionPersistService().switchActiveVersion(metaDataVersions);
- sendDatabaseRuleChangedEvent(databaseName, metaDataVersions);
- clearServiceCache();
- }
- return Collections.emptyList();
- }
-
- private void sendDatabaseRuleChangedEvent(final String databaseName, final
Collection<MetaDataVersion> metaDataVersions) {
- for (MetaDataVersion each : metaDataVersions) {
- sendDatabaseRuleChangedEvent(databaseName, each);
- }
- }
-
- private void sendDatabaseRuleChangedEvent(final String databaseName, final
MetaDataVersion metaDataVersion) {
- ruleConfigurationEventBuilder.build(databaseName, new
DataChangedEvent(metaDataVersion.getActiveVersionNodePath(),
metaDataVersion.getNextActiveVersion(), Type.UPDATED))
- .ifPresent(optional ->
contextManager.getComputeNodeInstanceContext().getEventBusContext().post(optional));
- }
-
- @Override
- public void removeRuleConfigurationItem(final String databaseName, final
RuleConfiguration toBeRemovedRuleConfig) {
- if (null != toBeRemovedRuleConfig) {
- sendDatabaseRuleDeletedEvent(databaseName,
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseRulePersistService().deleteConfigurations(databaseName,
Collections.singleton(toBeRemovedRuleConfig)));
- clearServiceCache();
- }
- }
-
- private void sendDatabaseRuleDeletedEvent(final String databaseName, final
Collection<MetaDataVersion> metaDataVersions) {
- for (MetaDataVersion each : metaDataVersions) {
- sendDatabaseRuleDeletedEvent(databaseName, each);
- }
- }
-
- private void sendDatabaseRuleDeletedEvent(final String databaseName, final
MetaDataVersion metaDataVersion) {
- ruleConfigurationEventBuilder.build(databaseName, new
DataChangedEvent(metaDataVersion.getActiveVersionNodePath(), "", Type.DELETED))
- .ifPresent(optional ->
contextManager.getComputeNodeInstanceContext().getEventBusContext().post(optional));
- }
-
- @Override
- public void removeRuleConfiguration(final String databaseName, final
String ruleName) {
-
contextManager.getMetaDataContexts().getPersistService().getDatabaseRulePersistService().delete(databaseName,
ruleName);
- clearServiceCache();
- }
-
- @Override
- public void alterGlobalRuleConfiguration(final RuleConfiguration
toBeAlteredRuleConfig) {
-
contextManager.getConfigurationContextManager().alterGlobalRuleConfiguration(toBeAlteredRuleConfig);
-
contextManager.getMetaDataContexts().getPersistService().getGlobalRuleService().persist(Collections.singleton(toBeAlteredRuleConfig));
- clearServiceCache();
- }
-
- @Override
- public void alterProperties(final Properties props) {
- contextManager.getConfigurationContextManager().alterProperties(props);
-
contextManager.getMetaDataContexts().getPersistService().getPropsService().persist(props);
- clearServiceCache();
- }
-
- private void clearServiceCache() {
- OrderedServicesCache.clearCache();
- }
-}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
index 3ae4b4f118b..cd6c51bcb2c 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
@@ -283,7 +283,7 @@ public final class DatabaseConnector implements
DatabaseBackendHandler {
private void refreshMetaData(final ExecutionContext executionContext)
throws SQLException {
ContextManager contextManager =
ProxyContext.getInstance().getContextManager();
- new
MetaDataRefreshEngine(contextManager.getComputeNodeInstanceContext().getModeContextManager(),
database,
+ new
MetaDataRefreshEngine(contextManager.getPersistServiceFacade().getMetaDataManagerPersistService(),
database,
contextManager.getMetaDataContexts().getMetaData().getProps()).refresh(executionContext.getSqlStatementContext(),
executionContext.getRouteContext().getRouteUnits());
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/CreateDatabaseBackendHandler.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/CreateDatabaseBackendHandler.java
index ae29912bae9..76d5958d3a0 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/CreateDatabaseBackendHandler.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/CreateDatabaseBackendHandler.java
@@ -38,7 +38,7 @@ public final class CreateDatabaseBackendHandler implements
ProxyBackendHandler {
@Override
public ResponseHeader execute() throws SQLException {
check(sqlStatement);
-
ProxyContext.getInstance().getContextManager().getComputeNodeInstanceContext().getModeContextManager().createDatabase(sqlStatement.getDatabaseName());
+
ProxyContext.getInstance().getContextManager().getPersistServiceFacade().getMetaDataManagerPersistService().createDatabase(sqlStatement.getDatabaseName());
return new UpdateResponseHeader(sqlStatement);
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
index 9cad4748132..a58e748d81c 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
@@ -52,7 +52,7 @@ public final class DropDatabaseBackendHandler implements
ProxyBackendHandler {
connectionSession.setCurrentDatabase(null);
}
if
(ProxyContext.getInstance().databaseExists(sqlStatement.getDatabaseName())) {
-
ProxyContext.getInstance().getContextManager().getComputeNodeInstanceContext().getModeContextManager().dropDatabase(sqlStatement.getDatabaseName());
+
ProxyContext.getInstance().getContextManager().getPersistServiceFacade().getMetaDataManagerPersistService().dropDatabase(sqlStatement.getDatabaseName());
}
return new UpdateResponseHeader(sqlStatement);
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutor.java
index af8b394ac8d..ea6567a6043 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutor.java
@@ -73,8 +73,8 @@ public final class ImportMetaDataExecutor implements
DistSQLUpdateExecutor<Impor
return;
}
Collection<RuleConfiguration> rules =
ruleConfigSwapperEngine.swapToRuleConfigurations(yamlServerConfig.getRules());
- rules.forEach(each ->
contextManager.getComputeNodeInstanceContext().getModeContextManager().alterGlobalRuleConfiguration(each));
-
contextManager.getComputeNodeInstanceContext().getModeContextManager().alterProperties(yamlServerConfig.getProps());
+ rules.forEach(each ->
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().alterGlobalRuleConfiguration(each));
+
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().alterProperties(yamlServerConfig.getProps());
}
private void importDatabase(final ExportedMetaData exportedMetaData) {
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableExecutor.java
index 7f964ad5667..f0384da4642 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableExecutor.java
@@ -69,7 +69,7 @@ public final class SetDistVariableExecutor implements
DistSQLUpdateExecutor<SetD
props.putAll(metaDataContexts.getMetaData().getProps().getProps());
props.putAll(metaDataContexts.getMetaData().getTemporaryProps().getProps());
props.put(propertyKey.getKey(), getValue(propertyKey, value));
-
contextManager.getComputeNodeInstanceContext().getModeContextManager().alterProperties(props);
+
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().alterProperties(props);
refreshRootLogger(props);
syncSQLShowToLoggingRule(propertyKey, metaDataContexts, value);
syncSQLSimpleToLoggingRule(propertyKey, metaDataContexts, value);
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
index a679a4abed4..7df940380bb 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
@@ -97,7 +97,7 @@ public final class YamlDatabaseConfigurationImportExecutor {
private void addDatabase(final String databaseName) {
ContextManager contextManager =
ProxyContext.getInstance().getContextManager();
-
contextManager.getComputeNodeInstanceContext().getModeContextManager().createDatabase(databaseName);
+
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().createDatabase(databaseName);
DatabaseType protocolType =
DatabaseTypeEngine.getProtocolType(Collections.emptyMap(),
contextManager.getMetaDataContexts().getMetaData().getProps());
contextManager.getMetaDataContexts().getMetaData().addDatabase(databaseName,
protocolType, contextManager.getMetaDataContexts().getMetaData().getProps());
}
@@ -110,7 +110,7 @@ public final class YamlDatabaseConfigurationImportExecutor {
}
validateHandler.validate(propsMap);
try {
-
ProxyContext.getInstance().getContextManager().getComputeNodeInstanceContext().getModeContextManager().registerStorageUnits(databaseName,
propsMap);
+
ProxyContext.getInstance().getContextManager().getPersistServiceFacade().getMetaDataManagerPersistService().registerStorageUnits(databaseName,
propsMap);
} catch (final SQLException ex) {
throw new StorageUnitsOperateException("import",
propsMap.keySet(), ex);
}
@@ -160,6 +160,6 @@ public final class YamlDatabaseConfigurationImportExecutor {
}
private void dropDatabase(final String databaseName) {
-
ProxyContext.getInstance().getContextManager().getComputeNodeInstanceContext().getModeContextManager().dropDatabase(databaseName);
+
ProxyContext.getInstance().getContextManager().getPersistServiceFacade().getMetaDataManagerPersistService().dropDatabase(databaseName);
}
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLBackendHandlerFactoryTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLBackendHandlerFactoryTest.java
index 41a763ddc03..2e517c5a4fb 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLBackendHandlerFactoryTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLBackendHandlerFactoryTest.java
@@ -23,12 +23,12 @@ import
org.apache.shardingsphere.distsql.statement.rdl.resource.unit.type.AlterS
import
org.apache.shardingsphere.distsql.statement.rdl.resource.unit.type.RegisterStorageUnitStatement;
import
org.apache.shardingsphere.distsql.statement.rdl.resource.unit.type.UnregisterStorageUnitStatement;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
+import org.apache.shardingsphere.mode.service.MetaDataManagerPersistService;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import
org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
import
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
@@ -101,7 +101,7 @@ class DistSQLBackendHandlerFactoryTest {
MetaDataContexts metaDataContexts = mockMetaDataContexts(database);
when(result.getDatabase("foo_db")).thenReturn(database);
when(result.getMetaDataContexts()).thenReturn(metaDataContexts);
-
when(result.getComputeNodeInstanceContext().getModeContextManager()).thenReturn(mock(ModeContextManager.class));
+
when(result.getPersistServiceFacade().getMetaDataManagerPersistService()).thenReturn(mock(MetaDataManagerPersistService.class));
when(result.getComputeNodeInstanceContext().getModeConfiguration().getType()).thenReturn("Cluster");
return result;
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportMetaDataExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportMetaDataExecutorTest.java
index 13a2bcb1f1c..602e04651f8 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportMetaDataExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportMetaDataExecutorTest.java
@@ -32,7 +32,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
-import org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import org.apache.shardingsphere.infra.lock.LockContext;
import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
@@ -170,7 +169,7 @@ class ExportMetaDataExecutorTest {
new ConfigurationProperties(PropertiesBuilder.build(new
Property(ConfigurationPropertyKey.SQL_SHOW.getKey(), "true")))));
ComputeNodeInstanceContext computeNodeInstanceContext = new
ComputeNodeInstanceContext(
new ComputeNodeInstance(mock(InstanceMetaData.class)), new
StandaloneWorkerIdGenerator(), new ModeConfiguration("Standalone", null),
- mock(ModeContextManager.class), mock(LockContext.class), new
EventBusContext());
+ mock(LockContext.class), new EventBusContext());
ContextManager result = mock(ContextManager.class, RETURNS_DEEP_STUBS);
when(result.getMetaDataContexts()).thenReturn(metaDataContexts);
when(result.getComputeNodeInstanceContext()).thenReturn(computeNodeInstanceContext);
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableExecutorTest.java
index 1c35e033e2a..ed0ab2f3457 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableExecutorTest.java
@@ -32,7 +32,6 @@ import
org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
import org.apache.shardingsphere.metadata.persist.MetaDataPersistService;
import
org.apache.shardingsphere.metadata.persist.service.config.global.PropertiesPersistService;
import org.apache.shardingsphere.mode.manager.ContextManager;
-import
org.apache.shardingsphere.mode.manager.standalone.StandaloneModeContextManager;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import
org.apache.shardingsphere.infra.exception.kernel.syntax.InvalidVariableValueException;
@@ -108,11 +107,9 @@ class SetDistVariableExecutorTest {
private ContextManager mockContextManager() {
MetaDataPersistService metaDataPersistService =
mock(MetaDataPersistService.class, RETURNS_DEEP_STUBS);
when(metaDataPersistService.getPropsService()).thenReturn(mock(PropertiesPersistService.class));
- StandaloneModeContextManager standaloneModeContextManager = new
StandaloneModeContextManager();
ContextManager result = new ContextManager(new
MetaDataContexts(metaDataPersistService, new ShardingSphereMetaData()),
new ComputeNodeInstanceContext(new
ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(WorkerIdGenerator.class),
- new ModeConfiguration("Standalone", null),
standaloneModeContextManager, mock(LockContext.class), new EventBusContext()));
- standaloneModeContextManager.setContextManager(result);
+ new ModeConfiguration("Standalone", null),
mock(LockContext.class), new EventBusContext()));
return result;
}
}