This is an automated email from the ASF dual-hosted git repository.

sunnianjun 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 d80e9319ab5 Move the initialization of cluster state from 
ClusterContextManagerBuilder to StateContext (#31578)
d80e9319ab5 is described below

commit d80e9319ab560d395fda8b3f0a58ba92bd7f4c8a
Author: Haoran Meng <[email protected]>
AuthorDate: Tue Jun 4 15:02:47 2024 +0800

    Move the initialization of cluster state from ClusterContextManagerBuilder 
to StateContext (#31578)
---
 .../datasource/ShardingSphereDataSourceTest.java   |  4 ++--
 .../mode/manager/ContextManager.java               |  4 +++-
 .../shardingsphere/mode/state/StateContext.java    | 24 +++++++++++++---------
 .../mode/state/StateContextTest.java               | 12 +++++------
 .../cluster/ClusterContextManagerBuilder.java      | 14 -------------
 .../subscriber/StateChangedSubscriber.java         |  4 ++--
 .../subscriber/StateChangedSubscriberTest.java     |  2 +-
 .../handler/ProxyBackendHandlerFactory.java        |  4 ++--
 .../distsql/ral/updatable/LockClusterExecutor.java |  2 +-
 .../ral/updatable/UnlockClusterExecutor.java       |  2 +-
 .../proxy/backend/context/ProxyContextTest.java    |  2 +-
 .../handler/ProxyBackendHandlerFactoryTest.java    |  2 +-
 .../ral/updatable/LockClusterExecutorTest.java     |  4 ++--
 .../ral/updatable/UnlockClusterExecutorTest.java   |  2 +-
 14 files changed, 37 insertions(+), 45 deletions(-)

diff --git 
a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
 
b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
index 1f98fcf6353..6b1c8fabaa7 100644
--- 
a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
+++ 
b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
@@ -57,7 +57,7 @@ class ShardingSphereDataSourceTest {
         try (ShardingSphereDataSource actual = new 
ShardingSphereDataSource(DefaultDatabase.LOGIC_NAME, null)) {
             ContextManager contextManager = getContextManager(actual);
             
assertNotNull(contextManager.getMetaDataContexts().getMetaData().getDatabase(DefaultDatabase.LOGIC_NAME));
-            
assertThat(contextManager.getStateContext().getCurrentClusterState(), 
is(ClusterState.OK));
+            assertThat(contextManager.getStateContext().getClusterState(), 
is(ClusterState.OK));
             
assertThat(contextManager.getComputeNodeInstanceContext().getInstance().getState().getCurrentState(),
 is(InstanceState.OK));
             
assertTrue(contextManager.getStorageUnits(DefaultDatabase.LOGIC_NAME).isEmpty());
         }
@@ -70,7 +70,7 @@ class ShardingSphereDataSourceTest {
         try (ShardingSphereDataSource actual = 
createShardingSphereDataSource(new MockedDataSource(connection))) {
             ContextManager contextManager = getContextManager(actual);
             
assertNotNull(contextManager.getMetaDataContexts().getMetaData().getDatabase(DefaultDatabase.LOGIC_NAME));
-            
assertThat(contextManager.getStateContext().getCurrentClusterState(), 
is(ClusterState.OK));
+            assertThat(contextManager.getStateContext().getClusterState(), 
is(ClusterState.OK));
             
assertThat(contextManager.getComputeNodeInstanceContext().getInstance().getState().getCurrentState(),
 is(InstanceState.OK));
             
assertThat(contextManager.getStorageUnits(DefaultDatabase.LOGIC_NAME).size(), 
is(1));
             
assertThat(contextManager.getStorageUnits(DefaultDatabase.LOGIC_NAME).get("ds").getDataSource().getConnection().getMetaData().getURL(),
 is("jdbc:mock://127.0.0.1/foo_ds"));
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 88be4c316a3..55b3af67c21 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
@@ -37,6 +37,7 @@ import 
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericS
 import 
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
 import org.apache.shardingsphere.infra.rule.builder.global.GlobalRulesBuilder;
+import org.apache.shardingsphere.infra.state.cluster.ClusterState;
 import org.apache.shardingsphere.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.mode.manager.switcher.ResourceSwitchManager;
 import org.apache.shardingsphere.mode.manager.switcher.SwitchingResource;
@@ -80,7 +81,8 @@ public final class ContextManager implements AutoCloseable {
         this.computeNodeInstanceContext = computeNodeInstanceContext;
         this.repository = repository;
         persistServiceFacade = new PersistServiceFacade(repository, 
computeNodeInstanceContext.getModeConfiguration(), this);
-        stateContext = new 
StateContext(this.metaDataContexts.get().getMetaData(), 
persistServiceFacade.getQualifiedDataSourceStatePersistService().loadStates(), 
force);
+        stateContext = new 
StateContext(this.metaDataContexts.get().getMetaData(), 
persistServiceFacade.getStatePersistService().loadClusterState().orElse(ClusterState.OK),
+                
persistServiceFacade.getQualifiedDataSourceStatePersistService().loadStates(), 
force);
         metaDataContextManager = new 
MetaDataContextManager(this.metaDataContexts, computeNodeInstanceContext, 
persistServiceFacade);
         executorEngine = 
ExecutorEngine.createExecutorEngineWithSize(metaDataContexts.getMetaData().getProps().<Integer>getValue(ConfigurationPropertyKey.KERNEL_EXECUTOR_SIZE));
     }
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/state/StateContext.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/state/StateContext.java
index 57f788f8a35..529da550e5e 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/state/StateContext.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/state/StateContext.java
@@ -44,11 +44,15 @@ import java.util.concurrent.atomic.AtomicReference;
 @Slf4j
 public final class StateContext {
     
-    private final AtomicReference<ClusterState> currentClusterState = new 
AtomicReference<>(ClusterState.OK);
+    private final AtomicReference<ClusterState> clusterState = new 
AtomicReference<>(ClusterState.OK);
     
     private final Map<String, DataSourceState> dataSourceStates = new 
ConcurrentHashMap<>();
     
-    public StateContext(final ShardingSphereMetaData metaData, final 
Map<String, QualifiedDataSourceState> qualifiedDataSourceStates, final boolean 
force) {
+    public StateContext(final ShardingSphereMetaData metaData, final 
ClusterState repositoryClusterState,
+                        final Map<String, QualifiedDataSourceState> 
qualifiedDataSourceStates, final boolean force) {
+        if (clusterState.get() != repositoryClusterState) {
+            switchClusterState(repositoryClusterState);
+        }
         initDataSourceState(metaData, convert(qualifiedDataSourceStates), 
force);
     }
     
@@ -74,7 +78,7 @@ public final class StateContext {
         }
     }
     
-    private static Map<String, DataSourceState> convert(final Map<String, 
QualifiedDataSourceState> qualifiedDataSourceStates) {
+    private Map<String, DataSourceState> convert(final Map<String, 
QualifiedDataSourceState> qualifiedDataSourceStates) {
         Map<String, DataSourceState> result = new 
HashMap<>(qualifiedDataSourceStates.size(), 1F);
         qualifiedDataSourceStates.forEach((key, value) -> {
             List<String> values = Splitter.on(".").splitToList(key);
@@ -100,21 +104,21 @@ public final class StateContext {
     }
     
     /**
-     * Get current cluster state.
+     * Get cluster state.
      * 
-     * @return current cluster state
+     * @return cluster state
      */
-    public ClusterState getCurrentClusterState() {
-        return currentClusterState.get();
+    public ClusterState getClusterState() {
+        return clusterState.get();
     }
     
     /**
-     * Switch current cluster state.
+     * Switch cluster state.
      * 
      * @param state to be switched cluster state
      */
-    public void switchCurrentClusterState(final ClusterState state) {
-        currentClusterState.set(state);
+    public void switchClusterState(final ClusterState state) {
+        clusterState.set(state);
     }
     
     /**
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/state/StateContextTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/state/StateContextTest.java
index 03602fabb33..a10efe747da 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/state/StateContextTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/state/StateContextTest.java
@@ -29,17 +29,17 @@ import static org.mockito.Mockito.mock;
 
 class StateContextTest {
     
-    private final StateContext stateContext = new 
StateContext(mock(ShardingSphereMetaData.class), new HashMap<>(), false);
+    private final StateContext stateContext = new 
StateContext(mock(ShardingSphereMetaData.class), ClusterState.OK, new 
HashMap<>(), false);
     
     @Test
     void assertGetCurrentClusterState() {
-        assertThat(stateContext.getCurrentClusterState(), is(ClusterState.OK));
+        assertThat(stateContext.getClusterState(), is(ClusterState.OK));
     }
     
     @Test
-    void assertSwitchCurrentClusterState() {
-        assertThat(stateContext.getCurrentClusterState(), is(ClusterState.OK));
-        stateContext.switchCurrentClusterState(ClusterState.UNAVAILABLE);
-        assertThat(stateContext.getCurrentClusterState(), 
is(ClusterState.UNAVAILABLE));
+    void assertSwitchClusterState() {
+        assertThat(stateContext.getClusterState(), is(ClusterState.OK));
+        stateContext.switchClusterState(ClusterState.UNAVAILABLE);
+        assertThat(stateContext.getClusterState(), 
is(ClusterState.UNAVAILABLE));
     }
 }
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 461d62281dc..e8b714464b8 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
@@ -24,7 +24,6 @@ import 
org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
 import 
org.apache.shardingsphere.infra.instance.metadata.jdbc.JDBCInstanceMetaData;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.infra.state.cluster.ClusterState;
 import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
 import org.apache.shardingsphere.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.mode.lock.GlobalLockContext;
@@ -42,11 +41,9 @@ import 
org.apache.shardingsphere.mode.metadata.MetaDataContextsFactory;
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration;
 import 
org.apache.shardingsphere.mode.service.persist.QualifiedDataSourceStatePersistService;
-import org.apache.shardingsphere.mode.state.StatePersistService;
 
 import java.sql.SQLException;
 import java.util.Collections;
-import java.util.Optional;
 
 /**
  * Cluster context manager builder.
@@ -66,7 +63,6 @@ public final class ClusterContextManagerBuilder implements 
ContextManagerBuilder
         ContextManager result = new ContextManager(metaDataContexts, 
computeNodeInstanceContext, repository, param.isForce());
         createSubscribers(eventBusContext, repository);
         registerOnline(eventBusContext, computeNodeInstanceContext, 
repository, param, result);
-        setClusterState(result);
         return result;
     }
     
@@ -99,16 +95,6 @@ public final class ClusterContextManagerBuilder implements 
ContextManagerBuilder
         new ClusterEventSubscriberRegistry(contextManager, 
repository).register();
     }
     
-    private void setClusterState(final ContextManager contextManager) {
-        StatePersistService statePersistService = 
contextManager.getPersistServiceFacade().getStatePersistService();
-        Optional<ClusterState> clusterState = 
statePersistService.loadClusterState();
-        if (clusterState.isPresent()) {
-            
contextManager.getStateContext().switchCurrentClusterState(clusterState.get());
-        } else {
-            statePersistService.updateClusterState(ClusterState.OK);
-        }
-    }
-    
     @Override
     public String getType() {
         return "Cluster";
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriber.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriber.java
index 0bef0de37b8..f122e1be841 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriber.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriber.java
@@ -27,10 +27,10 @@ import 
org.apache.shardingsphere.infra.state.datasource.DataSourceStateManager;
 import org.apache.shardingsphere.infra.util.eventbus.EventSubscriber;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.status.cluster.event.ClusterStateEvent;
+import 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.status.compute.event.ComputeNodeInstanceStateChangedEvent;
 import 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.status.compute.event.InstanceOfflineEvent;
 import 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.status.compute.event.InstanceOnlineEvent;
 import 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.status.compute.event.LabelsEvent;
-import 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.status.compute.event.ComputeNodeInstanceStateChangedEvent;
 import 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.status.compute.event.WorkerIdEvent;
 import 
org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.status.storage.event.StorageNodeChangedEvent;
 
@@ -71,7 +71,7 @@ public final class StateChangedSubscriber implements 
EventSubscriber {
      */
     @Subscribe
     public synchronized void renew(final ClusterStateEvent event) {
-        
contextManager.getStateContext().switchCurrentClusterState(event.getClusterState());
+        
contextManager.getStateContext().switchClusterState(event.getClusterState());
     }
     
     /**
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriberTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriberTest.java
index 4bd43906024..bfd64ecd124 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriberTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/StateChangedSubscriberTest.java
@@ -123,7 +123,7 @@ class StateChangedSubscriberTest {
     void assertRenewClusterState() {
         ClusterStateEvent mockClusterStateEvent = new 
ClusterStateEvent(ClusterState.READ_ONLY);
         subscriber.renew(mockClusterStateEvent);
-        assertThat(contextManager.getStateContext().getCurrentClusterState(), 
is(ClusterState.READ_ONLY));
+        assertThat(contextManager.getStateContext().getClusterState(), 
is(ClusterState.READ_ONLY));
     }
     
     @Test
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
index 49451a31807..133405e0899 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactory.java
@@ -30,8 +30,8 @@ import 
org.apache.shardingsphere.infra.binder.engine.SQLBindEngine;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
-import 
org.apache.shardingsphere.infra.exception.generic.UnsupportedSQLOperationException;
 import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.UnknownDatabaseException;
+import 
org.apache.shardingsphere.infra.exception.generic.UnsupportedSQLOperationException;
 import org.apache.shardingsphere.infra.executor.audit.SQLAuditEngine;
 import org.apache.shardingsphere.infra.hint.HintValueContext;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -200,7 +200,7 @@ public final class ProxyBackendHandlerFactory {
     }
     
     private static void checkClusterState(final SQLStatement sqlStatement) {
-        ClusterState clusterCurrentState = 
ProxyContext.getInstance().getContextManager().getStateContext().getCurrentClusterState();
+        ClusterState clusterCurrentState = 
ProxyContext.getInstance().getContextManager().getStateContext().getClusterState();
         if (ClusterState.OK != clusterCurrentState) {
             TypedSPILoader.getService(ProxyClusterState.class, 
clusterCurrentState.name()).check(sqlStatement);
         }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/LockClusterExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/LockClusterExecutor.java
index 80c1188b16c..706e925c19a 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/LockClusterExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/LockClusterExecutor.java
@@ -56,7 +56,7 @@ public final class LockClusterExecutor implements 
DistSQLUpdateExecutor<LockClus
     }
     
     private void checkState(final ContextManager contextManager) {
-        ShardingSpherePreconditions.checkState(ClusterState.OK == 
contextManager.getStateContext().getCurrentClusterState(), 
LockedClusterException::new);
+        ShardingSpherePreconditions.checkState(ClusterState.OK == 
contextManager.getStateContext().getClusterState(), 
LockedClusterException::new);
     }
     
     private void checkAlgorithm(final LockClusterStatement sqlStatement) {
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/UnlockClusterExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/UnlockClusterExecutor.java
index f4558d84ee3..997cb617913 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/UnlockClusterExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/UnlockClusterExecutor.java
@@ -52,7 +52,7 @@ public final class UnlockClusterExecutor implements 
DistSQLUpdateExecutor<Unlock
     }
     
     private void checkState(final ContextManager contextManager) {
-        ShardingSpherePreconditions.checkState(ClusterState.OK != 
contextManager.getStateContext().getCurrentClusterState(), 
NotLockedClusterException::new);
+        ShardingSpherePreconditions.checkState(ClusterState.OK != 
contextManager.getStateContext().getClusterState(), 
NotLockedClusterException::new);
     }
     
     @Override
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 0192e9ea99b..82a693b8af8 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 {
         MetaDataContexts metaDataContexts = 
MetaDataContextsFactory.create(mock(MetaDataPersistService.class), new 
ShardingSphereMetaData());
         ProxyContext.init(new ContextManager(metaDataContexts, 
mock(ComputeNodeInstanceContext.class, RETURNS_DEEP_STUBS), 
mock(PersistRepository.class), false));
         
assertThat(ProxyContext.getInstance().getContextManager().getStateContext(), 
is(ProxyContext.getInstance().getContextManager().getStateContext()));
-        
assertThat(ProxyContext.getInstance().getContextManager().getStateContext().getCurrentClusterState(),
 is(ClusterState.OK));
+        
assertThat(ProxyContext.getInstance().getContextManager().getStateContext().getClusterState(),
 is(ClusterState.OK));
         
assertThat(ProxyContext.getInstance().getContextManager().getMetaDataContexts(),
 is(ProxyContext.getInstance().getContextManager().getMetaDataContexts()));
         
assertTrue(ProxyContext.getInstance().getInstanceStateContext().isPresent());
         assertThat(ProxyContext.getInstance().getInstanceStateContext(), 
is(ProxyContext.getInstance().getInstanceStateContext()));
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
index 84f9968ae0c..3f95926d9d4 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
@@ -97,7 +97,7 @@ class ProxyBackendHandlerFactoryTest {
         
when(databaseConnectionManager.getConnectionSession()).thenReturn(connectionSession);
         
when(connectionSession.getDatabaseConnectionManager()).thenReturn(databaseConnectionManager);
         ContextManager contextManager = mockContextManager();
-        
when(contextManager.getStateContext().getCurrentClusterState()).thenReturn(ClusterState.OK);
+        
when(contextManager.getStateContext().getClusterState()).thenReturn(ClusterState.OK);
         
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
     }
     
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/LockClusterExecutorTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/LockClusterExecutorTest.java
index 711c4fb424c..00e5083fc0e 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/LockClusterExecutorTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/LockClusterExecutorTest.java
@@ -45,14 +45,14 @@ class LockClusterExecutorTest {
     @Test
     void assertExecuteUpdateWithLockedCluster() {
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
-        
when(contextManager.getStateContext().getCurrentClusterState()).thenReturn(ClusterState.UNAVAILABLE);
+        
when(contextManager.getStateContext().getClusterState()).thenReturn(ClusterState.UNAVAILABLE);
         assertThrows(LockedClusterException.class, () -> 
executor.executeUpdate(new LockClusterStatement(new AlgorithmSegment("FOO", new 
Properties())), contextManager));
     }
     
     @Test
     void assertExecuteUpdateWithWrongAlgorithm() {
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
-        
when(contextManager.getStateContext().getCurrentClusterState()).thenReturn(ClusterState.OK);
+        
when(contextManager.getStateContext().getClusterState()).thenReturn(ClusterState.OK);
         assertThrows(ServiceProviderNotFoundException.class, () -> 
executor.executeUpdate(new LockClusterStatement(new AlgorithmSegment("FOO", new 
Properties())), contextManager));
     }
 }
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/UnlockClusterExecutorTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/UnlockClusterExecutorTest.java
index f0b50167aa2..02edc049cd9 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/UnlockClusterExecutorTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/UnlockClusterExecutorTest.java
@@ -41,7 +41,7 @@ class UnlockClusterExecutorTest {
     @Test
     void assertExecuteUpdateWithNotLockedCluster() {
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
-        
when(contextManager.getStateContext().getCurrentClusterState()).thenReturn(ClusterState.OK);
+        
when(contextManager.getStateContext().getClusterState()).thenReturn(ClusterState.OK);
         
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
         assertThrows(NotLockedClusterException.class, () -> 
executor.executeUpdate(new UnlockClusterStatement(), contextManager));
     }

Reply via email to