You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2023/04/29 00:47:58 UTC

[shardingsphere] branch master updated: Remove ExecuteProcessStatus (#25409)

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

duanzhengqiang 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 a1d335b4ee4 Remove ExecuteProcessStatus (#25409)
a1d335b4ee4 is described below

commit a1d335b4ee45798a93ec9b5a4ffaefede316deae
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Apr 29 08:47:41 2023 +0800

    Remove ExecuteProcessStatus (#25409)
    
    * Refactor ExecuteProcessUnit.isCompleted
    
    * Refactor ExecuteProcessUnit
    
    * Remove ExecuteProcessStatus
    
    * Fix test case
    
    * Fix test case
    
    * Refactor ExecuteProcessContext
---
 .../sql/process/ExecuteProcessReporter.java        |  9 ++++----
 .../sql/process/model/ExecuteProcessContext.java   | 26 ++++++++++++++++------
 .../sql/process/model/ExecuteProcessStatus.java    | 26 ----------------------
 .../sql/process/model/ExecuteProcessUnit.java      | 15 ++++++++-----
 .../process/yaml/YamlExecuteProcessContext.java    |  3 +--
 .../swapper/YamlExecuteProcessContextSwapper.java  |  6 ++---
 .../YamlAllExecuteProcessContextsSwapperTest.java  |  6 ++---
 .../YamlExecuteProcessContextSwapperTest.java      |  6 ++---
 .../ProcessListChangedSubscriberTest.java          |  2 +-
 .../admin/executor/ShowProcessListExecutor.java    |  7 +++---
 .../executor/ShowProcessListExecutorTest.java      |  3 ++-
 11 files changed, 49 insertions(+), 60 deletions(-)

diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporter.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporter.java
index 6d66d076fbb..c645dc5c796 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporter.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporter.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.infra.binder.QueryContext;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupContext;
 import org.apache.shardingsphere.infra.executor.sql.execute.engine.SQLExecutionUnit;
 import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
 import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessUnit;
 import org.apache.shardingsphere.infra.util.spi.ShardingSphereServiceLoader;
 
@@ -38,7 +37,7 @@ public final class ExecuteProcessReporter {
      * @param executionGroupContext execution group context
      */
     public void reportConnect(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
-        ExecuteProcessContext executeProcessContext = new ExecuteProcessContext("", executionGroupContext, ExecuteProcessStatus.SLEEP);
+        ExecuteProcessContext executeProcessContext = new ExecuteProcessContext(executionGroupContext);
         ShowProcessListManager.getInstance().putProcessContext(executeProcessContext.getExecutionID(), executeProcessContext);
     }
     
@@ -49,7 +48,7 @@ public final class ExecuteProcessReporter {
      * @param executionGroupContext execution group context
      */
     public void reportExecute(final QueryContext queryContext, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
-        ExecuteProcessContext executeProcessContext = new ExecuteProcessContext(queryContext.getSql(), executionGroupContext, ExecuteProcessStatus.START);
+        ExecuteProcessContext executeProcessContext = new ExecuteProcessContext(queryContext.getSql(), executionGroupContext);
         ShowProcessListManager.getInstance().putProcessContext(executeProcessContext.getExecutionID(), executeProcessContext);
         ShowProcessListManager.getInstance().putProcessStatement(executeProcessContext.getExecutionID(), executeProcessContext.getProcessStatements());
     }
@@ -61,9 +60,9 @@ public final class ExecuteProcessReporter {
      * @param executionUnit execution unit
      */
     public void reportComplete(final String executionID, final SQLExecutionUnit executionUnit) {
-        ExecuteProcessUnit executeProcessUnit = new ExecuteProcessUnit(executionUnit.getExecutionUnit(), ExecuteProcessStatus.DONE);
+        ExecuteProcessUnit executeProcessUnit = new ExecuteProcessUnit(executionUnit.getExecutionUnit());
         ExecuteProcessContext executeProcessContext = ShowProcessListManager.getInstance().getProcessContext(executionID);
-        Optional.ofNullable(executeProcessContext.getProcessUnits().get(executeProcessUnit.getUnitID())).ifPresent(optional -> optional.setStatus(ExecuteProcessStatus.DONE));
+        Optional.ofNullable(executeProcessContext.getProcessUnits().get(executeProcessUnit.getUnitID())).ifPresent(ExecuteProcessUnit::switchComplete);
     }
     
     /**
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessContext.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessContext.java
index ebbc32d577f..44dc7d65d09 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessContext.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessContext.java
@@ -52,24 +52,36 @@ public final class ExecuteProcessContext {
     
     private long startMillis;
     
-    private ExecuteProcessStatus status;
+    private volatile boolean executing;
     
-    public ExecuteProcessContext(final String sql, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext, final ExecuteProcessStatus status) {
+    public ExecuteProcessContext(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
+        executionID = executionGroupContext.getReportContext().getExecutionID();
+        databaseName = executionGroupContext.getReportContext().getDatabaseName();
+        Grantee grantee = executionGroupContext.getReportContext().getGrantee();
+        username = null == grantee ? null : grantee.getUsername();
+        hostname = null == grantee ? null : grantee.getHostname();
+        sql = "";
+        startMillis = System.currentTimeMillis();
+        executing = false;
+        addProcessUnitsAndStatements(executionGroupContext);
+    }
+    
+    public ExecuteProcessContext(final String sql, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
         executionID = executionGroupContext.getReportContext().getExecutionID();
         databaseName = executionGroupContext.getReportContext().getDatabaseName();
         Grantee grantee = executionGroupContext.getReportContext().getGrantee();
         username = null == grantee ? null : grantee.getUsername();
         hostname = null == grantee ? null : grantee.getHostname();
         this.sql = sql;
-        this.status = status;
         startMillis = System.currentTimeMillis();
-        addProcessUnitsAndStatements(executionGroupContext, status);
+        executing = true;
+        addProcessUnitsAndStatements(executionGroupContext);
     }
     
-    private void addProcessUnitsAndStatements(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext, final ExecuteProcessStatus processStatus) {
+    private void addProcessUnitsAndStatements(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
         for (ExecutionGroup<? extends SQLExecutionUnit> each : executionGroupContext.getInputGroups()) {
             for (SQLExecutionUnit executionUnit : each.getInputs()) {
-                ExecuteProcessUnit processUnit = new ExecuteProcessUnit(executionUnit.getExecutionUnit(), processStatus);
+                ExecuteProcessUnit processUnit = new ExecuteProcessUnit(executionUnit.getExecutionUnit());
                 processUnits.put(processUnit.getUnitID(), processUnit);
                 if (executionUnit instanceof JDBCExecutionUnit) {
                     processStatements.add(((JDBCExecutionUnit) executionUnit).getStorageResource());
@@ -84,6 +96,6 @@ public final class ExecuteProcessContext {
     public void reset() {
         sql = "";
         startMillis = System.currentTimeMillis();
-        status = ExecuteProcessStatus.SLEEP;
+        executing = false;
     }
 }
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessStatus.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessStatus.java
deleted file mode 100644
index 36d928144e4..00000000000
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessStatus.java
+++ /dev/null
@@ -1,26 +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.executor.sql.process.model;
-
-/**
- * Execute process status.
- */
-public enum ExecuteProcessStatus {
-    
-    START, DONE, SLEEP
-}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessUnit.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessUnit.java
index cce46bc0be4..441356273c9 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessUnit.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/ExecuteProcessUnit.java
@@ -18,22 +18,27 @@
 package org.apache.shardingsphere.infra.executor.sql.process.model;
 
 import lombok.Getter;
-import lombok.Setter;
 import org.apache.shardingsphere.infra.executor.sql.context.ExecutionUnit;
 
 /**
  * Execute process unit.
  */
 @Getter
-@Setter
 public final class ExecuteProcessUnit {
     
     private final String unitID;
     
-    private volatile ExecuteProcessStatus status;
+    private volatile boolean completed;
     
-    public ExecuteProcessUnit(final ExecutionUnit executionUnit, final ExecuteProcessStatus status) {
+    public ExecuteProcessUnit(final ExecutionUnit executionUnit) {
         this.unitID = String.valueOf(executionUnit.hashCode());
-        this.status = status;
+        completed = false;
+    }
+    
+    /**
+     * Switch to complete.
+     */
+    public void switchComplete() {
+        completed = true;
     }
 }
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessContext.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessContext.java
index 48f181eba82..ef771f239d2 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessContext.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessContext.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.infra.executor.sql.process.yaml;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
 import org.apache.shardingsphere.infra.util.yaml.YamlConfiguration;
 
 /**
@@ -45,5 +44,5 @@ public final class YamlExecuteProcessContext implements YamlConfiguration {
     
     private Long startTimeMillis;
     
-    private ExecuteProcessStatus processStatus;
+    private boolean executing;
 }
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlExecuteProcessContextSwapper.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlExecuteProcessContextSwapper.java
index a44d5cd9027..03ef69d78c8 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlExecuteProcessContextSwapper.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlExecuteProcessContextSwapper.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.infra.executor.sql.process.yaml.swapper;
 
 import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
+import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessUnit;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlExecuteProcessContext;
 import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwapper;
 
@@ -36,9 +36,9 @@ public final class YamlExecuteProcessContextSwapper implements YamlConfiguration
         result.setHostname(data.getHostname());
         result.setSql(data.getSql());
         result.setTotalUnitCount(data.getProcessUnits().size());
-        result.setCompletedUnitCount(Long.valueOf(data.getProcessUnits().values().stream().filter(each -> ExecuteProcessStatus.DONE == each.getStatus()).count()).intValue());
+        result.setCompletedUnitCount(Long.valueOf(data.getProcessUnits().values().stream().filter(ExecuteProcessUnit::isCompleted).count()).intValue());
         result.setStartTimeMillis(data.getStartMillis());
-        result.setProcessStatus(data.getStatus());
+        result.setExecuting(data.isExecuting());
         return result;
     }
     
diff --git a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlAllExecuteProcessContextsSwapperTest.java b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlAllExecuteProcessContextsSwapperTest.java
index 51fa0dfed37..4b03612c2b0 100644
--- a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlAllExecuteProcessContextsSwapperTest.java
+++ b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlAllExecuteProcessContextsSwapperTest.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupConte
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupReportContext;
 import org.apache.shardingsphere.infra.executor.sql.execute.engine.SQLExecutionUnit;
 import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlAllExecuteProcessContexts;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlExecuteProcessContext;
 import org.apache.shardingsphere.infra.metadata.user.Grantee;
@@ -34,6 +33,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.lessThanOrEqualTo;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class YamlAllExecuteProcessContextsSwapperTest {
     
@@ -41,7 +41,7 @@ class YamlAllExecuteProcessContextsSwapperTest {
     void assertSwapToYamlConfiguration() {
         ExecutionGroupReportContext reportContext = new ExecutionGroupReportContext("foo_db", new Grantee("root", "localhost"));
         ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext = new ExecutionGroupContext<>(Collections.emptyList(), reportContext);
-        ExecuteProcessContext executeProcessContext = new ExecuteProcessContext("SELECT 1", executionGroupContext, ExecuteProcessStatus.START);
+        ExecuteProcessContext executeProcessContext = new ExecuteProcessContext("SELECT 1", executionGroupContext);
         YamlAllExecuteProcessContexts actual = new YamlAllExecuteProcessContextsSwapper().swapToYamlConfiguration(Collections.singleton(executeProcessContext));
         assertThat(actual.getContexts().size(), is(1));
         assertYamlExecuteProcessContext(actual.getContexts().iterator().next());
@@ -56,7 +56,7 @@ class YamlAllExecuteProcessContextsSwapperTest {
         assertThat(actual.getCompletedUnitCount(), is(0));
         assertThat(actual.getTotalUnitCount(), is(0));
         assertThat(actual.getStartTimeMillis(), lessThanOrEqualTo(System.currentTimeMillis()));
-        assertThat(actual.getProcessStatus(), is(ExecuteProcessStatus.START));
+        assertTrue(actual.isExecuting());
     }
     
     @Test
diff --git a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlExecuteProcessContextSwapperTest.java b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlExecuteProcessContextSwapperTest.java
index f0ede46a69f..77653e47e69 100644
--- a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlExecuteProcessContextSwapperTest.java
+++ b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlExecuteProcessContextSwapperTest.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupConte
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupReportContext;
 import org.apache.shardingsphere.infra.executor.sql.execute.engine.SQLExecutionUnit;
 import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlExecuteProcessContext;
 import org.apache.shardingsphere.infra.metadata.user.Grantee;
 import org.junit.jupiter.api.Test;
@@ -33,6 +32,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.lessThanOrEqualTo;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class YamlExecuteProcessContextSwapperTest {
     
@@ -40,7 +40,7 @@ class YamlExecuteProcessContextSwapperTest {
     void assertSwapToYamlConfiguration() {
         ExecutionGroupReportContext reportContext = new ExecutionGroupReportContext("foo_db", new Grantee("root", "localhost"));
         ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext = new ExecutionGroupContext<>(Collections.emptyList(), reportContext);
-        ExecuteProcessContext executeProcessContext = new ExecuteProcessContext("SELECT 1", executionGroupContext, ExecuteProcessStatus.START);
+        ExecuteProcessContext executeProcessContext = new ExecuteProcessContext("SELECT 1", executionGroupContext);
         YamlExecuteProcessContext actual = new YamlExecuteProcessContextSwapper().swapToYamlConfiguration(executeProcessContext);
         assertNotNull(actual.getExecutionID());
         assertThat(actual.getDatabaseName(), is("foo_db"));
@@ -50,7 +50,7 @@ class YamlExecuteProcessContextSwapperTest {
         assertThat(actual.getCompletedUnitCount(), is(0));
         assertThat(actual.getTotalUnitCount(), is(0));
         assertThat(actual.getStartTimeMillis(), lessThanOrEqualTo(System.currentTimeMillis()));
-        assertThat(actual.getProcessStatus(), is(ExecuteProcessStatus.START));
+        assertTrue(actual.isExecuting());
     }
     
     @Test
diff --git a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java
index ff0d89ea65a..fc7693049ee 100644
--- a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java
+++ b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java
@@ -127,7 +127,7 @@ class ProcessListChangedSubscriberTest {
         subscriber.triggerShowProcessList(new ShowProcessListTriggerEvent(instanceId, processListId));
         ClusterPersistRepository repository = ((RegistryCenter) Plugins.getMemberAccessor().get(ProcessListChangedSubscriber.class.getDeclaredField("registryCenter"), subscriber)).getRepository();
         verify(repository).persist("/execution_nodes/foo_process_id/" + instanceId,
-                "contexts:" + System.lineSeparator() + "- completedUnitCount: 0\n  startTimeMillis: 0\n  totalUnitCount: 0" + System.lineSeparator());
+                "contexts:" + System.lineSeparator() + "- completedUnitCount: 0\n  executing: false\n  startTimeMillis: 0\n  totalUnitCount: 0" + System.lineSeparator());
         verify(repository).delete("/nodes/compute_nodes/process_trigger/" + instanceId + ":foo_process_id");
     }
     
diff --git a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowProcessListExecutor.java b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowProcessListExecutor.java
index 741bfbcbd14..5c735d26031 100644
--- a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowProcessListExecutor.java
+++ b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowProcessListExecutor.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.ra
 import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.metadata.RawQueryResultMetaData;
 import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.type.RawMemoryQueryResult;
 import org.apache.shardingsphere.infra.executor.sql.execute.result.query.type.memory.row.MemoryQueryResultDataRow;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlAllExecuteProcessContexts;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlExecuteProcessContext;
 import org.apache.shardingsphere.infra.merge.result.MergedResult;
@@ -99,10 +98,10 @@ public final class ShowProcessListExecutor implements DatabaseAdminQueryExecutor
         rowValues.add(yamlExecuteProcessContext.getUsername());
         rowValues.add(yamlExecuteProcessContext.getHostname());
         rowValues.add(yamlExecuteProcessContext.getDatabaseName());
-        rowValues.add(ExecuteProcessStatus.SLEEP == yamlExecuteProcessContext.getProcessStatus() ? "Sleep" : "Execute");
+        rowValues.add(yamlExecuteProcessContext.isExecuting() ? "Execute" : "Sleep");
         rowValues.add(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - yamlExecuteProcessContext.getStartTimeMillis()));
         String sql = null;
-        if (ExecuteProcessStatus.SLEEP == yamlExecuteProcessContext.getProcessStatus()) {
+        if (!yamlExecuteProcessContext.isExecuting()) {
             rowValues.add("");
         } else {
             int processDoneCount = yamlExecuteProcessContext.getCompletedUnitCount();
@@ -118,7 +117,7 @@ public final class ShowProcessListExecutor implements DatabaseAdminQueryExecutor
     }
     
     private QueryResultMetaData createQueryResultMetaData() {
-        List<RawQueryResultColumnMetaData> columns = new ArrayList<>();
+        List<RawQueryResultColumnMetaData> columns = new ArrayList<>(8);
         columns.add(new RawQueryResultColumnMetaData("", "Id", "Id", Types.VARCHAR, "VARCHAR", 20, 0));
         columns.add(new RawQueryResultColumnMetaData("", "User", "User", Types.VARCHAR, "VARCHAR", 20, 0));
         columns.add(new RawQueryResultColumnMetaData("", "Host", "Host", Types.VARCHAR, "VARCHAR", 64, 0));
diff --git a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowProcessListExecutorTest.java b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowProcessListExecutorTest.java
index ac5e62d87d6..01aef6d5259 100644
--- a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowProcessListExecutorTest.java
+++ b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowProcessListExecutorTest.java
@@ -71,7 +71,8 @@ class ShowProcessListExecutorTest {
                 + "  username: sharding\n"
                 + "  hostname: 127.0.0.1\n"
                 + "  totalUnitCount: 2\n"
-                + "  completedUnitCount: 1\n";
+                + "  completedUnitCount: 1\n"
+                + "  executing: true\n";
         Plugins.getMemberAccessor().set(showProcessListExecutor.getClass().getDeclaredField("batchProcessContexts"), showProcessListExecutor, Collections.singleton(executionNodeValue));
     }
 }