This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 ebdfef41e7f Move ComputeNodeInstanceContext.getLockContext() to
ContextManager (#35030)
ebdfef41e7f is described below
commit ebdfef41e7f3c26345d85f9c9a922b907f07a0b4
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Mar 18 23:06:27 2025 +0800
Move ComputeNodeInstanceContext.getLockContext() to ContextManager (#35030)
* Move ComputeNodeInstanceContext.getLockContext() to ContextManager
* Move ComputeNodeInstanceContext.getLockContext() to ContextManager
* Move ComputeNodeInstanceContext.getLockContext() to ContextManager
* Move ComputeNodeInstanceContext.getLockContext() to ContextManager
---
.../PrometheusPluginLifecycleServiceTest.java | 4 ++--
.../checker/ShardingRouteCacheableCheckerTest.java | 2 +-
.../infra/instance/ComputeNodeInstanceContext.java | 17 +----------------
.../instance/ComputeNodeInstanceContextTest.java | 21 +++++++++------------
.../migration/preparer/MigrationJobPreparer.java | 2 +-
.../shardingsphere/mode/manager/ContextManager.java | 8 ++++++--
.../statistics/StatisticsRefreshEngine.java | 2 +-
.../mode/manager/ContextManagerTest.java | 2 +-
.../cluster/ClusterContextManagerBuilder.java | 6 ++----
.../standalone/StandaloneContextManagerBuilder.java | 4 ++--
.../jdbc/transaction/BackendTransactionManager.java | 4 ++--
.../ral/updatable/lock/LockClusterExecutor.java | 2 +-
.../ral/updatable/lock/UnlockClusterExecutor.java | 2 +-
.../ProxyDatabaseConnectionManagerTest.java | 4 +---
.../backend/connector/ProxySQLExecutorTest.java | 2 +-
.../proxy/backend/context/ProxyContextTest.java | 2 +-
.../admin/DatabaseAdminQueryBackendHandlerTest.java | 2 +-
.../distsql/DistSQLQueryBackendHandlerTest.java | 2 +-
.../export/ExportMetaDataExecutorTest.java | 3 +--
.../imports/ImportMetaDataExecutorTest.java | 3 +--
.../variable/SetDistVariableExecutorTest.java | 5 ++---
.../FrontDatabaseProtocolTypeFactoryTest.java | 3 +--
.../proxy/frontend/state/impl/OKProxyStateTest.java | 2 +-
.../command/PostgreSQLCommandExecuteEngineTest.java | 3 +--
.../pipeline/core/util/PipelineContextUtils.java | 2 +-
25 files changed, 43 insertions(+), 66 deletions(-)
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 00202f68df4..86ba03677c3 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
@@ -73,7 +73,7 @@ class PrometheusPluginLifecycleServiceTest {
MetaDataContexts metaDataContexts = new MetaDataContexts(metaData, new
ShardingSphereStatistics());
ComputeNodeInstanceContext computeNodeInstanceContext = new
ComputeNodeInstanceContext(
new ComputeNodeInstance(mock(InstanceMetaData.class)), new
ModeConfiguration("Standalone", null), new EventBusContext());
- computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator(),
mock(LockContext.class));
- return new ContextManager(metaDataContexts,
computeNodeInstanceContext, mock(PersistRepository.class));
+ computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator());
+ return new ContextManager(metaDataContexts,
computeNodeInstanceContext, mock(LockContext.class),
mock(PersistRepository.class));
}
}
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 1af0543e4fa..e70046f99e3 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
@@ -113,7 +113,7 @@ class ShardingRouteCacheableCheckerTest {
ruleConfig.getTables().add(nonCacheableTableSharding);
ruleConfig.setShardingCache(new ShardingCacheConfiguration(100, new
ShardingCacheOptionsConfiguration(true, 0, 0)));
ComputeNodeInstanceContext instanceContext = new
ComputeNodeInstanceContext(mock(ComputeNodeInstance.class), null, null);
- instanceContext.init(props -> 0, null);
+ instanceContext.init(props -> 0);
return new ShardingRule(ruleConfig, Maps.of("ds_0", new
MockedDataSource(), "ds_1", new MockedDataSource()), instanceContext,
Collections.emptyList());
}
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 64da77c8c5b..afc7277a005 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
@@ -22,7 +22,6 @@ import lombok.Getter;
import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
import org.apache.shardingsphere.infra.instance.workerid.WorkerIdGenerator;
-import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.state.instance.InstanceState;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
@@ -48,8 +47,6 @@ public final class ComputeNodeInstanceContext {
@Getter(AccessLevel.NONE)
private final AtomicReference<WorkerIdGenerator> workerIdGenerator;
- private final AtomicReference<LockContext> lockContext;
-
private final ClusterInstanceRegistry clusterInstanceRegistry;
public ComputeNodeInstanceContext(final ComputeNodeInstance instance,
final ModeConfiguration modeConfiguration, final EventBusContext
eventBusContext) {
@@ -57,7 +54,6 @@ public final class ComputeNodeInstanceContext {
this.modeConfiguration = modeConfiguration;
this.eventBusContext = eventBusContext;
workerIdGenerator = new AtomicReference<>();
- lockContext = new AtomicReference<>();
clusterInstanceRegistry = new ClusterInstanceRegistry();
}
@@ -65,11 +61,9 @@ public final class ComputeNodeInstanceContext {
* Initialize compute node instance context.
*
* @param workerIdGenerator worker id generator
- * @param lockContext lock context
*/
- public void init(final WorkerIdGenerator workerIdGenerator, final
LockContext lockContext) {
+ public void init(final WorkerIdGenerator workerIdGenerator) {
this.workerIdGenerator.set(workerIdGenerator);
- this.lockContext.set(lockContext);
}
/**
@@ -141,13 +135,4 @@ public final class ComputeNodeInstanceContext {
instance.setWorkerId(result);
return result;
}
-
- /**
- * Get lock context.
- *
- * @return lock context
- */
- public LockContext getLockContext() {
- return Optional.ofNullable(lockContext.get()).orElseThrow(() -> new
IllegalStateException("Lock context is not initialized."));
- }
}
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 e0c39e3b0b5..24138d3c2c0 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
@@ -21,7 +21,6 @@ import
org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
import
org.apache.shardingsphere.infra.instance.metadata.proxy.ProxyInstanceMetaData;
import org.apache.shardingsphere.infra.instance.workerid.WorkerIdGenerator;
-import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.state.instance.InstanceState;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
import org.junit.jupiter.api.Test;
@@ -42,18 +41,16 @@ class ComputeNodeInstanceContextTest {
void assertInit() {
ComputeNodeInstanceContext context = new
ComputeNodeInstanceContext(new
ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(ModeConfiguration.class), new EventBusContext());
WorkerIdGenerator workerIdGenerator = mock(WorkerIdGenerator.class);
- LockContext lockContext = mock(LockContext.class);
- context.init(workerIdGenerator, lockContext);
+ context.init(workerIdGenerator);
context.generateWorkerId(new Properties());
verify(workerIdGenerator).generate(new Properties());
- assertThat(context.getLockContext(), is(lockContext));
}
@Test
void assertUpdateStatusWithInvalidInstanceState() {
InstanceMetaData instanceMetaData = mock(InstanceMetaData.class);
ComputeNodeInstanceContext instanceContext = new
ComputeNodeInstanceContext(new ComputeNodeInstance(instanceMetaData),
mock(ModeConfiguration.class), new EventBusContext());
- instanceContext.init(mock(WorkerIdGenerator.class),
mock(LockContext.class));
+ instanceContext.init(mock(WorkerIdGenerator.class));
instanceContext.updateStatus("id", "INVALID");
verify(instanceMetaData, times(0)).getId();
}
@@ -62,7 +59,7 @@ class ComputeNodeInstanceContextTest {
void assertUpdateStatusWithCurrentInstance() {
InstanceMetaData instanceMetaData = new
ProxyInstanceMetaData("foo_instance_id", 3306);
ComputeNodeInstanceContext instanceContext = new
ComputeNodeInstanceContext(new ComputeNodeInstance(instanceMetaData),
mock(ModeConfiguration.class), new EventBusContext());
- instanceContext.init(mock(WorkerIdGenerator.class),
mock(LockContext.class));
+ instanceContext.init(mock(WorkerIdGenerator.class));
instanceContext.getClusterInstanceRegistry().add(new
ComputeNodeInstance(new ProxyInstanceMetaData("bar_instance_id", 3307)));
instanceContext.updateStatus("foo_instance_id",
InstanceState.CIRCUIT_BREAK.name());
assertThat(instanceContext.getInstance().getState().getCurrentState(),
is(InstanceState.CIRCUIT_BREAK));
@@ -72,7 +69,7 @@ class ComputeNodeInstanceContextTest {
void assertUpdateStatusWithOtherInstance() {
InstanceMetaData instanceMetaData = new
ProxyInstanceMetaData("foo_instance_id", 3306);
ComputeNodeInstanceContext instanceContext = new
ComputeNodeInstanceContext(new ComputeNodeInstance(instanceMetaData),
mock(ModeConfiguration.class), new EventBusContext());
- instanceContext.init(mock(WorkerIdGenerator.class),
mock(LockContext.class));
+ instanceContext.init(mock(WorkerIdGenerator.class));
instanceContext.getClusterInstanceRegistry().add(new
ComputeNodeInstance(new ProxyInstanceMetaData("bar_instance_id", 3307)));
instanceContext.updateStatus("bar_instance_id",
InstanceState.CIRCUIT_BREAK.name());
assertThat(instanceContext.getInstance().getState().getCurrentState(),
is(InstanceState.OK));
@@ -82,7 +79,7 @@ class ComputeNodeInstanceContextTest {
void assertUpdateLabelsWithCurrentInstance() {
InstanceMetaData instanceMetaData = new
ProxyInstanceMetaData("foo_instance_id", 3306);
ComputeNodeInstanceContext instanceContext = new
ComputeNodeInstanceContext(new ComputeNodeInstance(instanceMetaData),
mock(ModeConfiguration.class), new EventBusContext());
- instanceContext.init(mock(WorkerIdGenerator.class),
mock(LockContext.class));
+ instanceContext.init(mock(WorkerIdGenerator.class));
instanceContext.updateLabels("foo_instance_id",
Arrays.asList("label_1", "label_2"));
assertThat(instanceContext.getInstance().getLabels(),
is(Arrays.asList("label_1", "label_2")));
}
@@ -91,7 +88,7 @@ class ComputeNodeInstanceContextTest {
void assertUpdateLabelsWithOtherInstance() {
InstanceMetaData instanceMetaData = new
ProxyInstanceMetaData("foo_instance_id", 3306);
ComputeNodeInstanceContext instanceContext = new
ComputeNodeInstanceContext(new ComputeNodeInstance(instanceMetaData),
mock(ModeConfiguration.class), new EventBusContext());
- instanceContext.init(mock(WorkerIdGenerator.class),
mock(LockContext.class));
+ instanceContext.init(mock(WorkerIdGenerator.class));
instanceContext.getClusterInstanceRegistry().add(new
ComputeNodeInstance(new ProxyInstanceMetaData("bar_instance_id", 3307)));
instanceContext.updateLabels("bar_instance_id",
Arrays.asList("label_1", "label_2"));
assertTrue(instanceContext.getInstance().getLabels().isEmpty());
@@ -102,7 +99,7 @@ class ComputeNodeInstanceContextTest {
void assertUpdateWorkerIdWithCurrentInstance() {
ComputeNodeInstance instance = new ComputeNodeInstance(new
ProxyInstanceMetaData("foo_instance_id", 3306));
ComputeNodeInstanceContext instanceContext = new
ComputeNodeInstanceContext(instance, mock(ModeConfiguration.class), new
EventBusContext());
- instanceContext.init(mock(WorkerIdGenerator.class),
mock(LockContext.class));
+ instanceContext.init(mock(WorkerIdGenerator.class));
instanceContext.updateWorkerId("foo_instance_id", 10);
assertThat(instanceContext.getWorkerId(), is(10));
}
@@ -111,7 +108,7 @@ class ComputeNodeInstanceContextTest {
void assertUpdateWorkerIdWithOtherInstance() {
ComputeNodeInstance instance = new ComputeNodeInstance(new
ProxyInstanceMetaData("foo_instance_id", 3306));
ComputeNodeInstanceContext instanceContext = new
ComputeNodeInstanceContext(instance, mock(ModeConfiguration.class), new
EventBusContext());
- instanceContext.init(mock(WorkerIdGenerator.class),
mock(LockContext.class));
+ instanceContext.init(mock(WorkerIdGenerator.class));
instanceContext.getClusterInstanceRegistry().add(new
ComputeNodeInstance(new ProxyInstanceMetaData("bar_instance_id", 3307)));
instanceContext.updateWorkerId("bar_instance_id", 10);
assertThat(instanceContext.getWorkerId(), is(-1));
@@ -121,7 +118,7 @@ class ComputeNodeInstanceContextTest {
@Test
void assertGenerateWorkerId() {
ComputeNodeInstanceContext instanceContext = new
ComputeNodeInstanceContext(new
ComputeNodeInstance(mock(InstanceMetaData.class)),
mock(ModeConfiguration.class), new EventBusContext());
- instanceContext.init(mock(WorkerIdGenerator.class),
mock(LockContext.class));
+ instanceContext.init(mock(WorkerIdGenerator.class));
assertThat(instanceContext.generateWorkerId(new Properties()), is(0));
}
}
diff --git
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/preparer/MigrationJobPreparer.java
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/preparer/MigrationJobPreparer.java
index 029b97261e8..03331b71b5d 100644
---
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/preparer/MigrationJobPreparer.java
+++
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/preparer/MigrationJobPreparer.java
@@ -113,7 +113,7 @@ public final class MigrationJobPreparer implements
PipelineJobPreparer<Migration
String jobId = jobConfig.getJobId();
PipelineContextKey contextKey =
PipelineJobIdUtils.parseContextKey(jobId);
ContextManager contextManager =
PipelineContextManager.getContext(contextKey).getContextManager();
- LockContext lockContext =
contextManager.getComputeNodeInstanceContext().getLockContext();
+ LockContext lockContext = contextManager.getLockContext();
if (!jobItemManager.getProgress(jobId,
jobItemContext.getShardingItem()).isPresent()) {
jobItemManager.persistProgress(jobItemContext);
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index 1616747213b..b90a816017f 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -29,6 +29,7 @@ import
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.databa
import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
import org.apache.shardingsphere.infra.instance.metadata.InstanceType;
+import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
@@ -64,17 +65,20 @@ public final class ContextManager implements AutoCloseable {
private final ComputeNodeInstanceContext computeNodeInstanceContext;
- private final ExecutorEngine executorEngine;
+ private final LockContext lockContext;
private final StateContext stateContext;
+ private final ExecutorEngine executorEngine;
+
private final PersistServiceFacade persistServiceFacade;
private final MetaDataContextManager metaDataContextManager;
- public ContextManager(final MetaDataContexts metaDataContexts, final
ComputeNodeInstanceContext computeNodeInstanceContext, final PersistRepository
repository) {
+ public ContextManager(final MetaDataContexts metaDataContexts, final
ComputeNodeInstanceContext computeNodeInstanceContext, final LockContext
lockContext, final PersistRepository repository) {
this.metaDataContexts = metaDataContexts;
this.computeNodeInstanceContext = computeNodeInstanceContext;
+ this.lockContext = lockContext;
executorEngine =
ExecutorEngine.createExecutorEngineWithSize(metaDataContexts.getMetaData().getProps().<Integer>getValue(ConfigurationPropertyKey.KERNEL_EXECUTOR_SIZE));
metaDataContextManager = new MetaDataContextManager(metaDataContexts,
computeNodeInstanceContext, repository);
persistServiceFacade = new PersistServiceFacade(repository,
computeNodeInstanceContext.getModeConfiguration(), metaDataContextManager);
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/statistics/StatisticsRefreshEngine.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/statistics/StatisticsRefreshEngine.java
index 04f1023d042..250dfdecc29 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/statistics/StatisticsRefreshEngine.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/statistics/StatisticsRefreshEngine.java
@@ -68,7 +68,7 @@ public final class StatisticsRefreshEngine {
public void refresh() {
try {
if
(contextManager.getMetaDataContexts().getMetaData().getTemporaryProps().getValue(TemporaryConfigurationPropertyKey.PROXY_META_DATA_COLLECTOR_ENABLED))
{
- LockContext lockContext =
contextManager.getComputeNodeInstanceContext().getLockContext();
+ LockContext lockContext = contextManager.getLockContext();
GlobalLockDefinition lockDefinition = new
GlobalLockDefinition(new StatisticsLock());
if (lockContext.tryLock(lockDefinition, 5000L)) {
try {
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index d7f59c54d40..04352d6012f 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -87,7 +87,7 @@ class ContextManagerTest {
when(metaDataContexts.getMetaData().getAllDatabases()).thenReturn(Collections.singleton(database));
when(computeNodeInstanceContext.getInstance()).thenReturn(new
ComputeNodeInstance(new ProxyInstanceMetaData("foo_id", 3307),
Collections.emptyList()));
when(computeNodeInstanceContext.getModeConfiguration()).thenReturn(new
ModeConfiguration("FIXTURE", mock()));
- contextManager = new ContextManager(metaDataContexts,
computeNodeInstanceContext, mock());
+ contextManager = new ContextManager(metaDataContexts,
computeNodeInstanceContext, mock(), mock());
}
private ShardingSphereDatabase mockDatabase() throws SQLException {
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 fce8a3405a1..cf548c3d659 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
@@ -22,7 +22,6 @@ import
org.apache.shardingsphere.infra.exception.core.ShardingSpherePrecondition
import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
import
org.apache.shardingsphere.infra.instance.metadata.jdbc.JDBCInstanceMetaData;
-import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
@@ -59,10 +58,9 @@ public final class ClusterContextManagerBuilder implements
ContextManagerBuilder
ClusterPersistRepositoryConfiguration config =
(ClusterPersistRepositoryConfiguration) modeConfig.getRepository();
ComputeNodeInstanceContext computeNodeInstanceContext = new
ComputeNodeInstanceContext(new ComputeNodeInstance(param.getInstanceMetaData(),
param.getLabels()), modeConfig, eventBusContext);
ClusterPersistRepository repository =
getClusterPersistRepository(config, computeNodeInstanceContext);
- LockContext lockContext = new ClusterLockContext(new
GlobalLockPersistService(repository));
- computeNodeInstanceContext.init(new
ClusterWorkerIdGenerator(repository, param.getInstanceMetaData().getId()),
lockContext);
+ computeNodeInstanceContext.init(new
ClusterWorkerIdGenerator(repository, param.getInstanceMetaData().getId()));
MetaDataContexts metaDataContexts = new MetaDataContextsFactory(new
MetaDataPersistFacade(repository), computeNodeInstanceContext).create(param);
- ContextManager result = new ContextManager(metaDataContexts,
computeNodeInstanceContext, repository);
+ ContextManager result = new ContextManager(metaDataContexts,
computeNodeInstanceContext, new ClusterLockContext(new
GlobalLockPersistService(repository)), repository);
registerOnline(computeNodeInstanceContext, param, result);
new
DeliverEventSubscriberRegistry(result.getComputeNodeInstanceContext().getEventBusContext()).register(createDeliverEventSubscribers(repository));
return result;
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 6f6a79c833d..282f1ca7057 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
@@ -44,11 +44,11 @@ public final class StandaloneContextManagerBuilder
implements ContextManagerBuil
public ContextManager build(final ContextManagerBuilderParameter param,
final EventBusContext eventBusContext) throws SQLException {
PersistRepositoryConfiguration repositoryConfig =
param.getModeConfiguration().getRepository();
ComputeNodeInstanceContext computeNodeInstanceContext = new
ComputeNodeInstanceContext(new
ComputeNodeInstance(param.getInstanceMetaData()), param.getModeConfiguration(),
eventBusContext);
- computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator(), new
StandaloneLockContext());
+ computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator());
StandalonePersistRepository repository = TypedSPILoader.getService(
StandalonePersistRepository.class, null == repositoryConfig ?
null : repositoryConfig.getType(), null == repositoryConfig ? new Properties()
: repositoryConfig.getProps());
MetaDataContexts metaDataContexts = new MetaDataContextsFactory(new
MetaDataPersistFacade(repository), computeNodeInstanceContext).create(param);
- return new ContextManager(metaDataContexts,
computeNodeInstanceContext, repository);
+ return new ContextManager(metaDataContexts,
computeNodeInstanceContext, new StandaloneLockContext(), repository);
}
@Override
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManager.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManager.java
index 5c2331ebba1..b0402431380 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManager.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/BackendTransactionManager.java
@@ -98,7 +98,7 @@ public final class BackendTransactionManager implements
TransactionManager {
DatabaseType databaseType =
ProxyContext.getInstance().getDatabaseType();
for (Entry<ShardingSphereRule, TransactionHook> entry :
transactionHooks.entrySet()) {
entry.getValue().beforeCommit(entry.getKey(), databaseType,
- connection.getCachedConnections().values(),
getTransactionContext(),
ProxyContext.getInstance().getContextManager().getComputeNodeInstanceContext().getLockContext());
+ connection.getCachedConnections().values(),
getTransactionContext(),
ProxyContext.getInstance().getContextManager().getLockContext());
}
if
(connection.getConnectionSession().getTransactionStatus().isInTransaction()) {
try {
@@ -110,7 +110,7 @@ public final class BackendTransactionManager implements
TransactionManager {
} finally {
for (Entry<ShardingSphereRule, TransactionHook> entry :
transactionHooks.entrySet()) {
entry.getValue().afterCommit(entry.getKey(), databaseType,
- connection.getCachedConnections().values(),
getTransactionContext(),
ProxyContext.getInstance().getContextManager().getComputeNodeInstanceContext().getLockContext());
+ connection.getCachedConnections().values(),
getTransactionContext(),
ProxyContext.getInstance().getContextManager().getLockContext());
}
for (Connection each :
connection.getCachedConnections().values()) {
ConnectionSavepointManager.getInstance().transactionFinished(each);
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/lock/LockClusterExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/lock/LockClusterExecutor.java
index 5b9d62d079a..c03e957cc5b 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/lock/LockClusterExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/lock/LockClusterExecutor.java
@@ -41,7 +41,7 @@ public final class LockClusterExecutor implements
DistSQLUpdateExecutor<LockClus
public void executeUpdate(final LockClusterStatement sqlStatement, final
ContextManager contextManager) {
checkState(contextManager);
checkAlgorithm(sqlStatement);
- LockContext lockContext =
contextManager.getComputeNodeInstanceContext().getLockContext();
+ LockContext lockContext = contextManager.getLockContext();
GlobalLockDefinition lockDefinition = new GlobalLockDefinition(new
ClusterLock());
long timeoutMillis = sqlStatement.getTimeoutMillis().orElse(3000L);
if (lockContext.tryLock(lockDefinition, timeoutMillis)) {
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/lock/UnlockClusterExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/lock/UnlockClusterExecutor.java
index 1bee67221fb..aea58127b77 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/lock/UnlockClusterExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/lock/UnlockClusterExecutor.java
@@ -36,7 +36,7 @@ public final class UnlockClusterExecutor implements
DistSQLUpdateExecutor<Unlock
@Override
public void executeUpdate(final UnlockClusterStatement sqlStatement, final
ContextManager contextManager) {
checkState(contextManager);
- LockContext lockContext =
contextManager.getComputeNodeInstanceContext().getLockContext();
+ LockContext lockContext = contextManager.getLockContext();
GlobalLockDefinition lockDefinition = new GlobalLockDefinition(new
ClusterLock());
long timeoutMillis = sqlStatement.getTimeoutMillis().orElse(3000L);
if (lockContext.tryLock(lockDefinition, timeoutMillis)) {
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
index 7f42c84fa1a..64793ebecdc 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
@@ -32,7 +32,6 @@ import
org.apache.shardingsphere.infra.metadata.statistics.builder.ShardingSpher
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
-import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.connection.ConnectionPostProcessor;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.datasource.JDBCBackendDataSource;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.statement.JDBCBackendStatement;
@@ -128,8 +127,7 @@ class ProxyDatabaseConnectionManagerTest {
when(metaData.getGlobalRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singletonList(transactionRule)));
ComputeNodeInstanceContext computeNodeInstanceContext =
mock(ComputeNodeInstanceContext.class);
when(computeNodeInstanceContext.getModeConfiguration()).thenReturn(mock(ModeConfiguration.class));
- return new ContextManager(new MetaDataContexts(metaData,
- ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics())), computeNodeInstanceContext,
mock(PersistRepository.class));
+ return new ContextManager(new MetaDataContexts(metaData,
ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics())), computeNodeInstanceContext, mock(), mock());
}
@AfterEach
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
index 842bcfca952..4e9ce1810f2 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
@@ -111,7 +111,7 @@ class ProxySQLExecutorTest {
ComputeNodeInstanceContext computeNodeInstanceContext =
mock(ComputeNodeInstanceContext.class);
when(computeNodeInstanceContext.getModeConfiguration()).thenReturn(mock(ModeConfiguration.class));
ContextManager contextManager = new ContextManager(new
MetaDataContexts(metaData,
- ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics())), computeNodeInstanceContext,
mock(PersistRepository.class, RETURNS_DEEP_STUBS));
+ ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics())), computeNodeInstanceContext, mock(),
mock(PersistRepository.class, RETURNS_DEEP_STUBS));
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
index f6052c637df..afc2f04dea3 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
@@ -72,7 +72,7 @@ class ProxyContextTest {
void assertInit() {
ShardingSphereMetaData metaData = new ShardingSphereMetaData();
MetaDataContexts metaDataContexts = new MetaDataContexts(metaData, new
ShardingSphereStatistics());
- ProxyContext.init(new ContextManager(metaDataContexts,
mock(ComputeNodeInstanceContext.class, RETURNS_DEEP_STUBS),
mock(PersistRepository.class)));
+ ProxyContext.init(new ContextManager(metaDataContexts,
mock(ComputeNodeInstanceContext.class, RETURNS_DEEP_STUBS), mock(),
mock(PersistRepository.class)));
assertThat(ProxyContext.getInstance().getContextManager().getStateContext(),
is(ProxyContext.getInstance().getContextManager().getStateContext()));
assertThat(ProxyContext.getInstance().getContextManager().getStateContext().getState(),
is(ShardingSphereState.OK));
assertThat(ProxyContext.getInstance().getContextManager().getMetaDataContexts(),
is(ProxyContext.getInstance().getContextManager().getMetaDataContexts()));
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminQueryBackendHandlerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminQueryBackendHandlerTest.java
index 3107c5d8c11..c6421850fc3 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminQueryBackendHandlerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminQueryBackendHandlerTest.java
@@ -113,6 +113,6 @@ class DatabaseAdminQueryBackendHandlerTest {
ShardingSphereMetaData metaData = new
ShardingSphereMetaData(Collections.singleton(database), mock(), mock(), new
ConfigurationProperties(new Properties()));
ComputeNodeInstanceContext computeNodeInstanceContext =
mock(ComputeNodeInstanceContext.class, RETURNS_DEEP_STUBS);
return new ContextManager(
- new MetaDataContexts(metaData,
ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics())), computeNodeInstanceContext, mock());
+ new MetaDataContexts(metaData,
ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics())), computeNodeInstanceContext, mock(), mock());
}
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLQueryBackendHandlerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLQueryBackendHandlerTest.java
index ebbc17ffbfa..2da05658bdd 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLQueryBackendHandlerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLQueryBackendHandlerTest.java
@@ -75,7 +75,7 @@ class DistSQLQueryBackendHandlerTest {
when(connectionSession.getUsedDatabaseName()).thenReturn("unknown");
ComputeNodeInstanceContext computeNodeInstanceContext =
mock(ComputeNodeInstanceContext.class);
when(computeNodeInstanceContext.getModeConfiguration()).thenReturn(mock(ModeConfiguration.class));
- ContextManager contextManager = new ContextManager(metaDataContexts,
computeNodeInstanceContext, mock(PersistRepository.class));
+ ContextManager contextManager = new ContextManager(metaDataContexts,
computeNodeInstanceContext, mock(), mock(PersistRepository.class));
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
assertThrows(UnknownDatabaseException.class, () -> new
DistSQLQueryBackendHandler(mock(ExportDatabaseConfigurationStatement.class),
connectionSession).execute());
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ExportMetaDataExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ExportMetaDataExecutorTest.java
index 929d7559bba..8d2b0e93fae 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/ExportMetaDataExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/export/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.lock.LockContext;
import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -141,7 +140,7 @@ class ExportMetaDataExecutorTest {
MetaDataContexts metaDataContexts = new MetaDataContexts(metaData,
ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics()));
ComputeNodeInstanceContext computeNodeInstanceContext = new
ComputeNodeInstanceContext(
new ComputeNodeInstance(mock(InstanceMetaData.class)), new
ModeConfiguration("Standalone", null), new EventBusContext());
- computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator(),
mock(LockContext.class));
+ computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator());
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/imports/ImportMetaDataExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/imports/ImportMetaDataExecutorTest.java
index ac2e53b925f..f46c647910e 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/imports/ImportMetaDataExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/imports/ImportMetaDataExecutorTest.java
@@ -33,7 +33,6 @@ import
org.apache.shardingsphere.infra.exception.kernel.metadata.resource.storag
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.lock.LockContext;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
@@ -121,7 +120,7 @@ class ImportMetaDataExecutorTest {
MetaDataContexts metaDataContexts = new MetaDataContexts(metaData,
ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics()));
ComputeNodeInstanceContext computeNodeInstanceContext = new
ComputeNodeInstanceContext(
new ComputeNodeInstance(mock(InstanceMetaData.class)), new
ModeConfiguration("Standalone", null), new EventBusContext());
- computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator(),
mock(LockContext.class));
+ computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator());
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/variable/SetDistVariableExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/variable/SetDistVariableExecutorTest.java
index b9cfcc9eb6b..de53240133d 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/variable/SetDistVariableExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/variable/SetDistVariableExecutorTest.java
@@ -27,7 +27,6 @@ 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.workerid.WorkerIdGenerator;
-import org.apache.shardingsphere.infra.lock.LockContext;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
@@ -110,7 +109,7 @@ class SetDistVariableExecutorTest {
when(metaDataPersistFacade.getPropsService()).thenReturn(mock(PropertiesPersistService.class));
ComputeNodeInstanceContext computeNodeInstanceContext = new
ComputeNodeInstanceContext(
new ComputeNodeInstance(mock(InstanceMetaData.class)), new
ModeConfiguration("Standalone", null), new EventBusContext());
- computeNodeInstanceContext.init(mock(WorkerIdGenerator.class),
mock(LockContext.class));
- return new ContextManager(new MetaDataContexts(new
ShardingSphereMetaData(), new ShardingSphereStatistics()),
computeNodeInstanceContext, mock());
+ computeNodeInstanceContext.init(mock(WorkerIdGenerator.class));
+ return new ContextManager(new MetaDataContexts(new
ShardingSphereMetaData(), new ShardingSphereStatistics()),
computeNodeInstanceContext, mock(), mock());
}
}
diff --git
a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/protocol/FrontDatabaseProtocolTypeFactoryTest.java
b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/protocol/FrontDatabaseProtocolTypeFactoryTest.java
index bd5590fbfd0..54a3f328dd8 100644
---
a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/protocol/FrontDatabaseProtocolTypeFactoryTest.java
+++
b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/protocol/FrontDatabaseProtocolTypeFactoryTest.java
@@ -29,7 +29,6 @@ import
org.apache.shardingsphere.infra.metadata.statistics.builder.ShardingSpher
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
-import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.test.mock.AutoMockExtension;
import org.apache.shardingsphere.test.mock.StaticMockSettings;
@@ -93,6 +92,6 @@ class FrontDatabaseProtocolTypeFactoryTest {
MetaDataContexts metaDataContexts = new MetaDataContexts(metaData,
ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics()));
ComputeNodeInstanceContext computeNodeInstanceContext =
mock(ComputeNodeInstanceContext.class);
when(computeNodeInstanceContext.getModeConfiguration()).thenReturn(mock(ModeConfiguration.class));
- return new ContextManager(metaDataContexts,
computeNodeInstanceContext, mock(PersistRepository.class));
+ return new ContextManager(metaDataContexts,
computeNodeInstanceContext, mock(), mock());
}
}
diff --git
a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/state/impl/OKProxyStateTest.java
b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/state/impl/OKProxyStateTest.java
index 1df8e69587a..e7f268626e0 100644
---
a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/state/impl/OKProxyStateTest.java
+++
b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/state/impl/OKProxyStateTest.java
@@ -97,7 +97,7 @@ class OKProxyStateTest {
when(metaData.getGlobalRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singletonList(transactionRule)));
ComputeNodeInstanceContext computeNodeInstanceContext =
mock(ComputeNodeInstanceContext.class);
when(computeNodeInstanceContext.getModeConfiguration()).thenReturn(mock(ModeConfiguration.class));
- return new ContextManager(new MetaDataContexts(metaData,
ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics())), computeNodeInstanceContext, mock());
+ return new ContextManager(new MetaDataContexts(metaData,
ShardingSphereStatisticsFactory.create(metaData, new
ShardingSphereStatistics())), computeNodeInstanceContext, mock(), mock());
}
@SuppressWarnings({"unchecked", "SameParameterValue"})
diff --git
a/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/PostgreSQLCommandExecuteEngineTest.java
b/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/PostgreSQLCommandExecuteEngineTest.java
index 5990f922d23..007aedeb21b 100644
---
a/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/PostgreSQLCommandExecuteEngineTest.java
+++
b/proxy/frontend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/PostgreSQLCommandExecuteEngineTest.java
@@ -28,7 +28,6 @@ import
org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
-import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import
org.apache.shardingsphere.proxy.backend.connector.ProxyDatabaseConnectionManager;
import
org.apache.shardingsphere.proxy.backend.connector.jdbc.connection.ConnectionResourceLock;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -124,7 +123,7 @@ class PostgreSQLCommandExecuteEngineTest {
ComputeNodeInstanceContext computeNodeInstanceContext =
mock(ComputeNodeInstanceContext.class);
when(computeNodeInstanceContext.getModeConfiguration()).thenReturn(mock(ModeConfiguration.class));
ContextManager contextManager = new ContextManager(
- new MetaDataContexts(new ShardingSphereMetaData(), new
ShardingSphereStatistics()), computeNodeInstanceContext,
mock(PersistRepository.class));
+ new MetaDataContexts(new ShardingSphereMetaData(), new
ShardingSphereStatistics()), computeNodeInstanceContext, mock(), mock());
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
commandExecuteEngine.writeQueryData(channelHandlerContext,
databaseConnectionManager, queryCommandExecutor, 0);
verify(connectionResourceLock).doAwait(channelHandlerContext);
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
index 8d60470b4a8..7c37182e46b 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
@@ -110,7 +110,7 @@ public final class PipelineContextUtils {
ClusterPersistRepository persistRepository =
getClusterPersistRepository((ClusterPersistRepositoryConfiguration)
modeConfig.getRepository());
MetaDataContexts metaDataContexts =
renewMetaDataContexts(contextManager.getMetaDataContexts(), new
MetaDataPersistFacade(persistRepository));
PipelineContext pipelineContext = new PipelineContext(modeConfig, new
ContextManager(metaDataContexts, contextManager.getComputeNodeInstanceContext(),
- contextManager.getPersistServiceFacade().getRepository()));
+ contextManager.getLockContext(),
contextManager.getPersistServiceFacade().getRepository()));
PipelineContextManager.putContext(contextKey, pipelineContext);
}