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 69fcc09829a Remove ProxyContext.getInstanceStateContext() (#36781)
69fcc09829a is described below

commit 69fcc09829a682703685f54810e52773731dccf0
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Oct 4 15:59:28 2025 +0800

    Remove ProxyContext.getInstanceStateContext() (#36781)
---
 .../metrics/core/exporter/impl/proxy/ProxyStateExporter.java  |  7 ++-----
 .../core/exporter/impl/proxy/ProxyStateExporterTest.java      |  2 +-
 .../shardingsphere/proxy/backend/context/ProxyContext.java    | 11 -----------
 .../proxy/backend/context/ProxyContextTest.java               |  2 --
 .../proxy/frontend/state/ProxyStateContext.java               |  3 ++-
 5 files changed, 5 insertions(+), 20 deletions(-)

diff --git 
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyStateExporter.java
 
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyStateExporter.java
index fd476cd5f60..48c34f9a5ad 100644
--- 
a/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyStateExporter.java
+++ 
b/agent/plugins/metrics/core/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/core/exporter/impl/proxy/ProxyStateExporter.java
@@ -41,13 +41,10 @@ public final class ProxyStateExporter implements 
MetricsExporter {
         if (null == ProxyContext.getInstance().getContextManager()) {
             return Optional.empty();
         }
-        Optional<InstanceStateContext> stateContext = 
ProxyContext.getInstance().getInstanceStateContext();
-        if (!stateContext.isPresent()) {
-            return Optional.empty();
-        }
+        InstanceStateContext stateContext = 
ProxyContext.getInstance().getContextManager().getComputeNodeInstanceContext().getInstance().getState();
         GaugeMetricFamilyMetricsCollector result = 
MetricsCollectorRegistry.get(config, pluginType);
         result.cleanMetrics();
-        result.addMetric(Collections.emptyList(), 
stateContext.get().getCurrentState().ordinal());
+        result.addMetric(Collections.emptyList(), 
stateContext.getCurrentState().ordinal());
         return Optional.of(result);
     }
 }
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 86dbdf40927..819423f544f 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
@@ -65,7 +65,6 @@ class ProxyStateExporterTest {
     void assertExportWithContextManager() {
         ContextManager contextManager = mockContextManager();
         
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
-        
when(ProxyContext.getInstance().getInstanceStateContext()).thenReturn(Optional.of(mock(InstanceStateContext.class,
 RETURNS_DEEP_STUBS)));
         Optional<GaugeMetricFamilyMetricsCollector> collector = new 
ProxyStateExporter().export("FIXTURE");
         assertTrue(collector.isPresent());
         assertThat(collector.get().toString(), is("0"));
@@ -76,6 +75,7 @@ class ProxyStateExporterTest {
         MetaDataContexts metaDataContexts = new MetaDataContexts(metaData, new 
ShardingSphereStatistics());
         ContextManager result = mock(ContextManager.class, RETURNS_DEEP_STUBS);
         when(result.getMetaDataContexts()).thenReturn(metaDataContexts);
+        
when(result.getComputeNodeInstanceContext().getInstance().getState()).thenReturn(mock(InstanceStateContext.class,
 RETURNS_DEEP_STUBS));
         return result;
     }
 }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/context/ProxyContext.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/context/ProxyContext.java
index 371beadc418..8bdca537fdb 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/context/ProxyContext.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/context/ProxyContext.java
@@ -24,12 +24,10 @@ import 
org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.DatabaseTypeEngine;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
-import org.apache.shardingsphere.infra.state.instance.InstanceStateContext;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.datasource.JDBCBackendDataSource;
 
 import java.util.Collection;
-import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -82,15 +80,6 @@ public final class ProxyContext {
         return 
contextManager.getMetaDataContexts().getMetaData().getAllDatabases().stream().map(ShardingSphereDatabase::getName).collect(Collectors.toList());
     }
     
-    /**
-     * Get instance state context.
-     *
-     * @return instance state context
-     */
-    public Optional<InstanceStateContext> getInstanceStateContext() {
-        return null == contextManager.getComputeNodeInstanceContext() ? 
Optional.empty() : 
Optional.ofNullable(contextManager.getComputeNodeInstanceContext().getInstance().getState());
-    }
-    
     /**
      * Get database type.
      *
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 271905bbeb0..67674ee2867 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
@@ -76,8 +76,6 @@ class ProxyContextTest {
         
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()));
-        
assertTrue(ProxyContext.getInstance().getInstanceStateContext().isPresent());
-        assertThat(ProxyContext.getInstance().getInstanceStateContext(), 
is(ProxyContext.getInstance().getInstanceStateContext()));
     }
     
     @Test
diff --git 
a/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/state/ProxyStateContext.java
 
b/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/state/ProxyStateContext.java
index d2a0ccb25ef..58ed3af8b06 100644
--- 
a/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/state/ProxyStateContext.java
+++ 
b/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/state/ProxyStateContext.java
@@ -53,6 +53,7 @@ public final class ProxyStateContext {
      */
     public static void execute(final ChannelHandlerContext context, final 
Object message,
                                final DatabaseProtocolFrontendEngine 
databaseProtocolFrontendEngine, final ConnectionSession connectionSession) {
-        
ProxyContext.getInstance().getInstanceStateContext().ifPresent(optional -> 
STATES.get(optional.getCurrentState()).execute(context, message, 
databaseProtocolFrontendEngine, connectionSession));
+        InstanceState currentState = 
ProxyContext.getInstance().getContextManager().getComputeNodeInstanceContext().getInstance().getState().getCurrentState();
+        STATES.get(currentState).execute(context, message, 
databaseProtocolFrontendEngine, connectionSession);
     }
 }

Reply via email to