You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by to...@apache.org on 2023/05/01 16:07:07 UTC

[shardingsphere] branch master updated: Rename executionID to processID (#25423)

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

totalo 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 56c11913350 Rename executionID to processID (#25423)
56c11913350 is described below

commit 56c119133508a730ade446ad851ba6c57b189150
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Tue May 2 00:06:57 2023 +0800

    Rename executionID to processID (#25423)
---
 ...42\200\231s_Show_processlist_&_Kill_Work.en.md" | 22 ++++-----
 .../kernel/model/ExecutionGroupReportContext.java  |  3 +-
 .../infra/executor/sql/process/ProcessContext.java | 20 ++++----
 .../infra/executor/sql/process/ProcessEngine.java  | 10 ++--
 .../executor/sql/process/ProcessReporter.java      | 29 +++++-------
 .../sql/process/ShowProcessListManager.java        | 55 ++++------------------
 .../sql/process/lock/ShowProcessListLock.java      |  4 +-
 .../sql/process/yaml/YamlProcessContext.java       |  4 +-
 .../yaml/swapper/YamlProcessContextSwapper.java    |  4 +-
 .../executor/sql/process/ProcessReporterTest.java  |  5 +-
 .../swapper/YamlAllProcessContextsSwapperTest.java |  8 ++--
 .../swapper/YamlProcessContextSwapperTest.java     |  6 +--
 .../sql/process/DriverProcessReporterCleaner.java  |  2 +-
 ...uestEvent.java => KillProcessRequestEvent.java} |  6 +--
 .../subscriber/ProcessRegistrySubscriber.java      |  6 +--
 .../subscriber/ProcessListChangedSubscriber.java   | 10 ++--
 .../ProcessListChangedSubscriberTest.java          |  4 +-
 .../subscriber/ProcessStandaloneSubscriber.java    | 22 +++++----
 .../proxy/backend/connector/ProxySQLExecutor.java  |  4 +-
 .../proxy/backend/session/ConnectionSession.java   |  2 +-
 .../admin/executor/KillProcessExecutor.java        |  4 +-
 .../admin/executor/ShowProcessListExecutor.java    |  6 +--
 .../executor/ShowProcessListExecutorTest.java      |  4 +-
 .../netty/FrontendChannelInboundHandler.java       |  4 +-
 .../text/query/MySQLMultiStatementsHandler.java    |  2 +-
 .../PostgreSQLBatchedStatementsExecutor.java       |  2 +-
 26 files changed, 106 insertions(+), 142 deletions(-)

diff --git "a/docs/blog/content/material/2022_09_22_How_does_ShardingSphere\342\200\231s_Show_processlist_&_Kill_Work.en.md" "b/docs/blog/content/material/2022_09_22_How_does_ShardingSphere\342\200\231s_Show_processlist_&_Kill_Work.en.md"
index e676b2ec1d0..1924974eca8 100644
--- "a/docs/blog/content/material/2022_09_22_How_does_ShardingSphere\342\200\231s_Show_processlist_&_Kill_Work.en.md"
+++ "b/docs/blog/content/material/2022_09_22_How_does_ShardingSphere\342\200\231s_Show_processlist_&_Kill_Work.en.md"
@@ -45,7 +45,7 @@ Now that you understand the functions of `Show processlist` and `Kill <processID
 
 ## 2.1 How is SQL saved and destroyed?
 
-Each SQL executed in ShardingSphere will generate an `ExecutionGroupContext` object. The object contains all the information about this SQL, among which there is an `executionID` field to ensure its uniqueness.
+Each SQL executed in ShardingSphere will generate an `ExecutionGroupContext` object. The object contains all the information about this SQL, among which there is an `processID` field to ensure its uniqueness.
 
 When ShardingSphere receives a SQL command, the `GovernanceExecuteProcessReporter# report` is called to store `ExecutionGroupContext` information into the cache of `ConcurrentHashMap `(currently only DML and DDL statements of MySQL are supported; other types of databases will be supported in later versions. Query statements are also classified into DML).
 
@@ -56,8 +56,8 @@ public final class GovernanceExecuteProcessReporter implements ExecuteProcessRep
     public void report(final QueryContext queryContext, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext,
                        final ExecuteProcessConstants constants, final EventBusContext eventBusContext) {
         ExecuteProcessContext processContext = new ExecuteProcessContext(queryContext.getSql(), executionGroupContext, constants);
-        ShowProcessListManager.getInstance().putProcessContext(processContext.getExecutionID(), processContext);
-        ShowProcessListManager.getInstance().putProcessStatement(processContext.getExecutionID(), processContext.getProcessStatements());
+        ShowProcessListManager.getInstance().putProcessContext(processContext.getProcessID(), processContext);
+        ShowProcessListManager.getInstance().putProcessStatement(processContext.getProcessID(), processContext.getProcessStatements());
     }
 }@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ShowProcessListManager {
@@ -74,22 +74,22 @@ public final class ShowProcessListManager {
         return INSTANCE;
     }
     
-    public void putProcessContext(final String executionId, final ExecuteProcessContext processContext) {
-        processContexts.put(executionId, processContext);
+    public void putProcessContext(final String processID, final ExecuteProcessContext processContext) {
+        processContexts.put(processID, processContext);
     }
     
-    public void putProcessStatement(final String executionId, final Collection<Statement> statements) {
+    public void putProcessStatement(final String processID, final Collection<Statement> statements) {
         if (statements.isEmpty()) {
             return;
         }
-        processStatements.put(executionId, statements);
+        processStatements.put(processID, statements);
     }
 }
 ```
 
-As shown above, the `ShowProcessListManager` class has two cache Maps, namely `processContexts` and `processStatements`. The former stores the mapping between `executionID` and `ExecuteProcessContext`.
+As shown above, the `ShowProcessListManager` class has two cache Maps, namely `processContexts` and `processStatements`. The former stores the mapping between `processID` and `ExecuteProcessContext`.
 
-The latter contains the mapping between `executionID` and `Statement objects` that may generate multiple statements after the SQL is overwritten.
+The latter contains the mapping between `processID` and `Statement objects` that may generate multiple statements after the SQL is overwritten.
 
 Every time ShardingSphere receives a SQL statement, the SQL information will be cached into the two Maps. After SQL is executed, the cache of Map will be deleted.
 
@@ -120,7 +120,7 @@ public final class ProxyJDBCExecutor {
                             true),
                     ProxyJDBCExecutorCallbackFactory.newInstance(type, protocolType, databaseType, context.getSqlStatement(), databaseCommunicationEngine, isReturnGeneratedKeys, isExceptionThrown,
                             false));
-            ExecuteProcessEngine.finish(executionGroupContext.getExecutionID(), eventBusContext);
+            ExecuteProcessEngine.finish(executionGroupContext.getProcessID(), eventBusContext);
             return result;
         } finally {
             ExecuteProcessEngine.clean();
@@ -173,7 +173,7 @@ public final class ShowProcessListExecutor implements DatabaseAdminQueryExecutor
         }
         List<MemoryQueryResultDataRow> rows = processContexts.stream().map(processContext -> {
             List<Object> rowValues = new ArrayList<>(8);
-            rowValues.add(processContext.getExecutionID());
+            rowValues.add(processContext.getProcessIDID());
             rowValues.add(processContext.getUsername());
             rowValues.add(processContext.getHostname());
             rowValues.add(processContext.getDatabaseName());
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/model/ExecutionGroupReportContext.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/model/ExecutionGroupReportContext.java
index d485dbbfc08..5d16acf4377 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/model/ExecutionGroupReportContext.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/model/ExecutionGroupReportContext.java
@@ -35,7 +35,8 @@ public final class ExecutionGroupReportContext {
     
     private final Grantee grantee;
     
-    private final String executionID;
+    // TODO processID should same with connectionID
+    private final String processID;
     
     public ExecutionGroupReportContext(final String databaseName) {
         this(databaseName, new Grantee("", ""));
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessContext.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessContext.java
index f40ef34967f..b3331f38456 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessContext.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessContext.java
@@ -35,7 +35,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 @Getter
 public final class ProcessContext {
     
-    private final String processID;
+    private final String id;
     
     private final String databaseName;
     
@@ -49,22 +49,22 @@ public final class ProcessContext {
     
     private final AtomicInteger completedUnitCount;
     
-    private String sql;
+    private volatile String sql;
     
-    private long startMillis;
+    private volatile long startMillis;
     
-    private volatile boolean executing;
+    private volatile boolean idle;
     
     public ProcessContext(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
-        this("", executionGroupContext, false);
+        this("", executionGroupContext, true);
     }
     
     public ProcessContext(final String sql, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
-        this(sql, executionGroupContext, true);
+        this(sql, executionGroupContext, false);
     }
     
-    private ProcessContext(final String sql, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext, final boolean executing) {
-        processID = executionGroupContext.getReportContext().getExecutionID();
+    private ProcessContext(final String sql, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext, final boolean idle) {
+        id = executionGroupContext.getReportContext().getProcessID();
         databaseName = executionGroupContext.getReportContext().getDatabaseName();
         Grantee grantee = executionGroupContext.getReportContext().getGrantee();
         username = null == grantee ? null : grantee.getUsername();
@@ -74,7 +74,7 @@ public final class ProcessContext {
         completedUnitCount = new AtomicInteger(0);
         this.sql = sql;
         startMillis = System.currentTimeMillis();
-        this.executing = executing;
+        this.idle = idle;
     }
     
     private Collection<Statement> getProcessStatements(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
@@ -111,6 +111,6 @@ public final class ProcessContext {
     public void reset() {
         sql = "";
         startMillis = System.currentTimeMillis();
-        executing = false;
+        idle = true;
     }
 }
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessEngine.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessEngine.java
index 23cd0e1d098..f745b07e19c 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessEngine.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessEngine.java
@@ -38,7 +38,7 @@ public final class ProcessEngine {
      *
      * @param grantee grantee
      * @param databaseName database name
-     * @return execution ID
+     * @return process ID
      */
     public String initializeConnection(final Grantee grantee, final String databaseName) {
         return reporter.reportConnect(grantee, databaseName);
@@ -47,10 +47,10 @@ public final class ProcessEngine {
     /**
      * Finish connection.
      *
-     * @param executionID execution ID
+     * @param processID process ID
      */
-    public void finishConnection(final String executionID) {
-        reporter.remove(executionID);
+    public void finishConnection(final String processID) {
+        reporter.remove(processID);
     }
     
     /**
@@ -61,7 +61,7 @@ public final class ProcessEngine {
      */
     public void initializeExecution(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext, final QueryContext queryContext) {
         if (isMySQLDDLOrDMLStatement(queryContext.getSqlStatementContext().getSqlStatement())) {
-            ExecuteIDContext.set(executionGroupContext.getReportContext().getExecutionID());
+            ExecuteIDContext.set(executionGroupContext.getReportContext().getProcessID());
             reporter.reportExecute(queryContext, executionGroupContext);
         }
     }
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessReporter.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessReporter.java
index 02d76033117..c8c7953e127 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessReporter.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessReporter.java
@@ -36,13 +36,13 @@ public final class ProcessReporter {
      *
      * @param grantee grantee
      * @param databaseName databaseName
-     * @return execution ID
+     * @return process ID
      */
     public String reportConnect(final Grantee grantee, final String databaseName) {
         ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext = new ExecutionGroupContext<>(Collections.emptyList(), new ExecutionGroupReportContext(databaseName, grantee));
         ProcessContext processContext = new ProcessContext(executionGroupContext);
-        ShowProcessListManager.getInstance().putProcessContext(processContext.getProcessID(), processContext);
-        return executionGroupContext.getReportContext().getExecutionID();
+        ShowProcessListManager.getInstance().putProcessContext(processContext.getId(), processContext);
+        return executionGroupContext.getReportContext().getProcessID();
     }
     
     /**
@@ -53,27 +53,25 @@ public final class ProcessReporter {
      */
     public void reportExecute(final QueryContext queryContext, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
         ProcessContext processContext = new ProcessContext(queryContext.getSql(), executionGroupContext);
-        ShowProcessListManager.getInstance().putProcessContext(processContext.getProcessID(), processContext);
-        ShowProcessListManager.getInstance().putProcessStatement(processContext.getProcessID(), processContext.getProcessStatements());
+        ShowProcessListManager.getInstance().putProcessContext(processContext.getId(), processContext);
     }
     
     /**
      * Report complete execution unit.
      *
-     * @param executionID execution ID
+     * @param processID process ID
      */
-    public void reportComplete(final String executionID) {
-        ShowProcessListManager.getInstance().getProcessContext(executionID).completeExecutionUnit();
+    public void reportComplete(final String processID) {
+        ShowProcessListManager.getInstance().getProcessContext(processID).completeExecutionUnit();
     }
     
     /**
      * Reset report.
      *
-     * @param executionID execution ID
+     * @param processID process ID
      */
-    public void reset(final String executionID) {
-        ShowProcessListManager.getInstance().removeProcessStatement(executionID);
-        ProcessContext context = ShowProcessListManager.getInstance().getProcessContext(executionID);
+    public void reset(final String processID) {
+        ProcessContext context = ShowProcessListManager.getInstance().getProcessContext(processID);
         if (null == context) {
             return;
         }
@@ -85,10 +83,9 @@ public final class ProcessReporter {
     /**
      * Remove process context.
      *
-     * @param executionID execution ID
+     * @param processID process ID
      */
-    public void remove(final String executionID) {
-        ShowProcessListManager.getInstance().removeProcessStatement(executionID);
-        ShowProcessListManager.getInstance().removeProcessContext(executionID);
+    public void remove(final String processID) {
+        ShowProcessListManager.getInstance().removeProcessContext(processID);
     }
 }
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ShowProcessListManager.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ShowProcessListManager.java
index 265e36d13f4..bd774274b83 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ShowProcessListManager.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ShowProcessListManager.java
@@ -22,9 +22,7 @@ import lombok.Getter;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListLock;
 
-import java.sql.Statement;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -38,9 +36,6 @@ public final class ShowProcessListManager {
     
     private final Map<String, ProcessContext> processContexts = new ConcurrentHashMap<>();
     
-    @Getter
-    private final Map<String, Collection<Statement>> processStatements = new ConcurrentHashMap<>();
-    
     @Getter
     private final Map<String, ShowProcessListLock> locks = new ConcurrentHashMap<>();
     
@@ -56,62 +51,30 @@ public final class ShowProcessListManager {
     /**
      * Put process context.
      * 
-     * @param executionID execution ID
+     * @param processID process ID
      * @param processContext process context
      */
-    public void putProcessContext(final String executionID, final ProcessContext processContext) {
-        processContexts.put(executionID, processContext);
-    }
-    
-    /**
-     * Put process statements.
-     *
-     * @param executionID execution ID
-     * @param statements statements
-     */
-    public void putProcessStatement(final String executionID, final Collection<Statement> statements) {
-        if (statements.isEmpty()) {
-            return;
-        }
-        processStatements.put(executionID, statements);
+    public void putProcessContext(final String processID, final ProcessContext processContext) {
+        processContexts.put(processID, processContext);
     }
     
     /**
      * Get process context.
      * 
-     * @param executionID execution ID
+     * @param processID process ID
      * @return process context
      */
-    public ProcessContext getProcessContext(final String executionID) {
-        return processContexts.get(executionID);
-    }
-    
-    /**
-     * Get process statement.
-     *
-     * @param executionID execution ID
-     * @return execute statements
-     */
-    public Collection<Statement> getProcessStatement(final String executionID) {
-        return processStatements.getOrDefault(executionID, Collections.emptyList());
+    public ProcessContext getProcessContext(final String processID) {
+        return processContexts.get(processID);
     }
     
     /**
      * Remove process context.
      * 
-     * @param executionID execution ID
-     */
-    public void removeProcessContext(final String executionID) {
-        processContexts.remove(executionID);
-    }
-    
-    /**
-     * Remove process statement.
-     *
-     * @param executionID execution ID
+     * @param processID process ID
      */
-    public void removeProcessStatement(final String executionID) {
-        processStatements.remove(executionID);
+    public void removeProcessContext(final String processID) {
+        processContexts.remove(processID);
     }
     
     /**
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListLock.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListLock.java
index 8a1d3e67f66..6c43799c530 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListLock.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/lock/ShowProcessListLock.java
@@ -29,7 +29,7 @@ import java.util.concurrent.locks.ReentrantLock;
  */
 public final class ShowProcessListLock {
     
-    private static final long DEFAULT_TIMEOUT_MILLISECONDS = 5000L;
+    private static final long TIMEOUT_MILLS = 5000L;
     
     private final Lock lock = new ReentrantLock();
     
@@ -56,7 +56,7 @@ public final class ShowProcessListLock {
      */
     @SneakyThrows(InterruptedException.class)
     public boolean awaitDefaultTime() {
-        return condition.await(DEFAULT_TIMEOUT_MILLISECONDS, TimeUnit.MILLISECONDS);
+        return condition.await(TIMEOUT_MILLS, TimeUnit.MILLISECONDS);
     }
     
     /**
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlProcessContext.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlProcessContext.java
index 3cf4c82848e..dc14b80af4f 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlProcessContext.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlProcessContext.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlConfiguration;
 @Setter
 public final class YamlProcessContext implements YamlConfiguration {
     
-    private String executionID;
+    private String processID;
     
     private String databaseName;
     
@@ -44,5 +44,5 @@ public final class YamlProcessContext implements YamlConfiguration {
     
     private Long startTimeMillis;
     
-    private boolean executing;
+    private boolean idle;
 }
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlProcessContextSwapper.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlProcessContextSwapper.java
index 562d674e823..b7ef881f211 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlProcessContextSwapper.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlProcessContextSwapper.java
@@ -29,7 +29,7 @@ public final class YamlProcessContextSwapper implements YamlConfigurationSwapper
     @Override
     public YamlProcessContext swapToYamlConfiguration(final ProcessContext data) {
         YamlProcessContext result = new YamlProcessContext();
-        result.setExecutionID(data.getProcessID());
+        result.setProcessID(data.getId());
         result.setDatabaseName(data.getDatabaseName());
         result.setUsername(data.getUsername());
         result.setHostname(data.getHostname());
@@ -37,7 +37,7 @@ public final class YamlProcessContextSwapper implements YamlConfigurationSwapper
         result.setTotalUnitCount(data.getTotalUnitCount());
         result.setCompletedUnitCount(data.getCompletedUnitCount());
         result.setStartTimeMillis(data.getStartMillis());
-        result.setExecuting(data.isExecuting());
+        result.setIdle(data.isIdle());
         return result;
     }
     
diff --git a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessReporterTest.java b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessReporterTest.java
index 4642b82ef2d..2e805e3aae5 100644
--- a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessReporterTest.java
+++ b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/ProcessReporterTest.java
@@ -52,14 +52,14 @@ class ProcessReporterTest {
     void assertReportExecute() {
         ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext = mockExecutionGroupContext();
         new ProcessReporter().reportExecute(new QueryContext(null, null, null), executionGroupContext);
-        verify(showProcessListManager).putProcessContext(eq(executionGroupContext.getReportContext().getExecutionID()), any());
+        verify(showProcessListManager).putProcessContext(eq(executionGroupContext.getReportContext().getProcessID()), any());
     }
     
     @SuppressWarnings("unchecked")
     private ExecutionGroupContext<? extends SQLExecutionUnit> mockExecutionGroupContext() {
         ExecutionGroupContext<? extends SQLExecutionUnit> result = mock(ExecutionGroupContext.class);
         ExecutionGroupReportContext reportContext = mock(ExecutionGroupReportContext.class);
-        when(reportContext.getExecutionID()).thenReturn(UUID.randomUUID().toString());
+        when(reportContext.getProcessID()).thenReturn(UUID.randomUUID().toString());
         when(result.getReportContext()).thenReturn(reportContext);
         return result;
     }
@@ -75,6 +75,5 @@ class ProcessReporterTest {
     void assertReportClean() {
         when(showProcessListManager.getProcessContext("foo_id")).thenReturn(mock(ProcessContext.class));
         new ProcessReporter().reset("foo_id");
-        verify(showProcessListManager).removeProcessStatement("foo_id");
     }
 }
diff --git a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlAllProcessContextsSwapperTest.java b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlAllProcessContextsSwapperTest.java
index 8dc285a261a..86eab04922b 100644
--- a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlAllProcessContextsSwapperTest.java
+++ b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlAllProcessContextsSwapperTest.java
@@ -21,8 +21,8 @@ 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.ProcessContext;
-import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlProcessListContexts;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlProcessContext;
+import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlProcessListContexts;
 import org.apache.shardingsphere.infra.metadata.user.Grantee;
 import org.junit.jupiter.api.Test;
 
@@ -31,9 +31,9 @@ import java.util.Collections;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.lessThanOrEqualTo;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 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 YamlAllProcessContextsSwapperTest {
     
@@ -48,7 +48,7 @@ class YamlAllProcessContextsSwapperTest {
     }
     
     private static void assertYamlProcessContext(final YamlProcessContext actual) {
-        assertNotNull(actual.getExecutionID());
+        assertNotNull(actual.getProcessID());
         assertThat(actual.getDatabaseName(), is("foo_db"));
         assertThat(actual.getUsername(), is("root"));
         assertThat(actual.getHostname(), is("localhost"));
@@ -56,7 +56,7 @@ class YamlAllProcessContextsSwapperTest {
         assertThat(actual.getCompletedUnitCount(), is(0));
         assertThat(actual.getTotalUnitCount(), is(0));
         assertThat(actual.getStartTimeMillis(), lessThanOrEqualTo(System.currentTimeMillis()));
-        assertTrue(actual.isExecuting());
+        assertFalse(actual.isIdle());
     }
     
     @Test
diff --git a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlProcessContextSwapperTest.java b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlProcessContextSwapperTest.java
index 51b69dcacc5..376c1b614c7 100644
--- a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlProcessContextSwapperTest.java
+++ b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/swapper/YamlProcessContextSwapperTest.java
@@ -30,9 +30,9 @@ import java.util.Collections;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.lessThanOrEqualTo;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 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 YamlProcessContextSwapperTest {
     
@@ -42,7 +42,7 @@ class YamlProcessContextSwapperTest {
         ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext = new ExecutionGroupContext<>(Collections.emptyList(), reportContext);
         ProcessContext processContext = new ProcessContext("SELECT 1", executionGroupContext);
         YamlProcessContext actual = new YamlProcessContextSwapper().swapToYamlConfiguration(processContext);
-        assertNotNull(actual.getExecutionID());
+        assertNotNull(actual.getProcessID());
         assertThat(actual.getDatabaseName(), is("foo_db"));
         assertThat(actual.getUsername(), is("root"));
         assertThat(actual.getHostname(), is("localhost"));
@@ -50,7 +50,7 @@ class YamlProcessContextSwapperTest {
         assertThat(actual.getCompletedUnitCount(), is(0));
         assertThat(actual.getTotalUnitCount(), is(0));
         assertThat(actual.getStartTimeMillis(), lessThanOrEqualTo(System.currentTimeMillis()));
-        assertTrue(actual.isExecuting());
+        assertFalse(actual.isIdle());
     }
     
     @Test
diff --git a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/sql/process/DriverProcessReporterCleaner.java b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/sql/process/DriverProcessReporterCleaner.java
index 033e72ae8ea..6c925e1c94a 100644
--- a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/sql/process/DriverProcessReporterCleaner.java
+++ b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/sql/process/DriverProcessReporterCleaner.java
@@ -28,6 +28,6 @@ public final class DriverProcessReporterCleaner implements ProcessReporterCleane
     
     @Override
     public void reset(final ProcessContext context) {
-        ShowProcessListManager.getInstance().removeProcessContext(context.getProcessID());
+        ShowProcessListManager.getInstance().removeProcessContext(context.getId());
     }
 }
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/event/process/KillProcessIdRequestEvent.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/event/process/KillProcessRequestEvent.java
similarity index 89%
rename from mode/core/src/main/java/org/apache/shardingsphere/mode/event/process/KillProcessIdRequestEvent.java
rename to mode/core/src/main/java/org/apache/shardingsphere/mode/event/process/KillProcessRequestEvent.java
index 533eccaa620..88291532d33 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/event/process/KillProcessIdRequestEvent.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/event/process/KillProcessRequestEvent.java
@@ -21,11 +21,11 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 
 /**
- * Kill process id request event.
+ * Kill process request event.
  */
 @RequiredArgsConstructor
 @Getter
-public final class KillProcessIdRequestEvent {
+public final class KillProcessRequestEvent {
     
-    private final String processId;
+    private final String id;
 }
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessRegistrySubscriber.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessRegistrySubscriber.java
index e3e6f279885..5fca4885035 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessRegistrySubscriber.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/process/subscriber/ProcessRegistrySubscriber.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessList
 import org.apache.shardingsphere.infra.instance.metadata.InstanceType;
 import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
 import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
-import org.apache.shardingsphere.mode.event.process.KillProcessIdRequestEvent;
+import org.apache.shardingsphere.mode.event.process.KillProcessRequestEvent;
 import org.apache.shardingsphere.mode.event.process.ShowProcessListRequestEvent;
 import org.apache.shardingsphere.mode.event.process.ShowProcessListResponseEvent;
 import org.apache.shardingsphere.metadata.persist.node.ProcessNode;
@@ -96,8 +96,8 @@ public final class ProcessRegistrySubscriber {
      * @param event get children request event.
      */
     @Subscribe
-    public void killProcessId(final KillProcessIdRequestEvent event) {
-        String processId = event.getProcessId();
+    public void killProcessId(final KillProcessRequestEvent event) {
+        String processId = event.getId();
         boolean killProcessIdIsComplete = false;
         Collection<String> processKillPaths = getProcessKillPaths(processId);
         try {
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriber.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriber.java
index f5db97ce0b6..8f68c4f2cce 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriber.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriber.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.mode.manager.cluster.coordinator.subscriber;
 
 import com.google.common.eventbus.Subscribe;
+import org.apache.shardingsphere.infra.executor.sql.process.ProcessContext;
 import org.apache.shardingsphere.infra.executor.sql.process.ShowProcessListManager;
 import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListLock;
-import org.apache.shardingsphere.infra.executor.sql.process.ProcessContext;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.swapper.YamlProcessListContextsSwapper;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
 import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
@@ -83,9 +83,11 @@ public final class ProcessListChangedSubscriber {
         if (!event.getInstanceId().equals(contextManager.getInstanceContext().getInstance().getMetaData().getId())) {
             return;
         }
-        Collection<Statement> statements = ShowProcessListManager.getInstance().getProcessStatement(event.getProcessId());
-        for (Statement statement : statements) {
-            statement.cancel();
+        ProcessContext processContext = ShowProcessListManager.getInstance().getProcessContext(event.getProcessId());
+        if (null != processContext) {
+            for (Statement each : processContext.getProcessStatements()) {
+                each.cancel();
+            }
         }
         registryCenter.getRepository().delete(ComputeNode.getProcessKillInstanceIdNodePath(event.getInstanceId(), event.getProcessId()));
     }
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 57921275ece..47598c1bda0 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
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.mode.manager.cluster.coordinator.subscriber;
 import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
+import org.apache.shardingsphere.infra.executor.sql.process.ProcessContext;
 import org.apache.shardingsphere.infra.executor.sql.process.ShowProcessListManager;
 import org.apache.shardingsphere.infra.executor.sql.process.lock.ShowProcessListLock;
-import org.apache.shardingsphere.infra.executor.sql.process.ProcessContext;
 import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
 import org.apache.shardingsphere.infra.instance.metadata.proxy.ProxyInstanceMetaData;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
@@ -127,7 +127,7 @@ class ProcessListChangedSubscriberTest {
         subscriber.triggerShowProcessList(new ShowProcessListTriggerEvent(instanceId, processId));
         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  executing: false\n  startTimeMillis: 0\n  totalUnitCount: 0" + System.lineSeparator());
+                "contexts:" + System.lineSeparator() + "- completedUnitCount: 0\n  idle: false\n  startTimeMillis: 0\n  totalUnitCount: 0" + System.lineSeparator());
         verify(repository).delete("/nodes/compute_nodes/process_trigger/" + instanceId + ":foo_process_id");
     }
     
diff --git a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriber.java b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriber.java
index 0b7d1f6df13..08fea4376c5 100644
--- a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriber.java
+++ b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/subscriber/ProcessStandaloneSubscriber.java
@@ -18,19 +18,18 @@
 package org.apache.shardingsphere.mode.manager.standalone.subscriber;
 
 import com.google.common.eventbus.Subscribe;
-import lombok.SneakyThrows;
+import org.apache.shardingsphere.infra.executor.sql.process.ProcessContext;
 import org.apache.shardingsphere.infra.executor.sql.process.ShowProcessListManager;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.YamlProcessListContexts;
 import org.apache.shardingsphere.infra.executor.sql.process.yaml.swapper.YamlProcessListContextsSwapper;
 import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
-import org.apache.shardingsphere.mode.event.process.KillProcessIdRequestEvent;
+import org.apache.shardingsphere.mode.event.process.KillProcessRequestEvent;
 import org.apache.shardingsphere.mode.event.process.ShowProcessListRequestEvent;
 import org.apache.shardingsphere.mode.event.process.ShowProcessListResponseEvent;
 
 import java.sql.SQLException;
 import java.sql.Statement;
-import java.util.Collection;
 import java.util.Collections;
 
 /**
@@ -60,16 +59,19 @@ public final class ProcessStandaloneSubscriber {
     }
     
     /**
-     * Kill process id.
+     * Kill process.
      *
-     * @param event kill process id request event.
+     * @param event kill process request event.
+     * @throws SQLException SQL exception
      */
     @Subscribe
-    @SneakyThrows(SQLException.class)
-    public void killProcessId(final KillProcessIdRequestEvent event) {
-        Collection<Statement> statements = ShowProcessListManager.getInstance().getProcessStatement(event.getProcessId());
-        for (Statement statement : statements) {
-            statement.cancel();
+    public void killProcess(final KillProcessRequestEvent event) throws SQLException {
+        ProcessContext processContext = ShowProcessListManager.getInstance().getProcessContext(event.getId());
+        if (null == processContext) {
+            return;
+        }
+        for (Statement each : processContext.getProcessStatements()) {
+            each.cancel();
         }
     }
 }
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
index 9a5781e9f35..0e07e8f8447 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
@@ -176,7 +176,7 @@ public final class ProxySQLExecutor {
         ExecutionGroupContext<RawSQLExecutionUnit> executionGroupContext;
         try {
             executionGroupContext = prepareEngine.prepare(executionContext.getRouteContext(), executionContext.getExecutionUnits(), new ExecutionGroupReportContext(
-                    backendConnection.getConnectionSession().getDatabaseName(), backendConnection.getConnectionSession().getGrantee(), backendConnection.getConnectionSession().getExecutionId()));
+                    backendConnection.getConnectionSession().getDatabaseName(), backendConnection.getConnectionSession().getGrantee(), backendConnection.getConnectionSession().getProcessId()));
         } catch (final SQLException ex) {
             return getSaneExecuteResults(executionContext, ex);
         }
@@ -193,7 +193,7 @@ public final class ProxySQLExecutor {
         ExecutionGroupContext<JDBCExecutionUnit> executionGroupContext;
         try {
             executionGroupContext = prepareEngine.prepare(executionContext.getRouteContext(), executionContext.getExecutionUnits(), new ExecutionGroupReportContext(
-                    backendConnection.getConnectionSession().getDatabaseName(), backendConnection.getConnectionSession().getGrantee(), backendConnection.getConnectionSession().getExecutionId()));
+                    backendConnection.getConnectionSession().getDatabaseName(), backendConnection.getConnectionSession().getGrantee(), backendConnection.getConnectionSession().getProcessId()));
         } catch (final SQLException ex) {
             return getSaneExecuteResults(executionContext, ex);
         }
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSession.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSession.java
index c3efe823421..c58052de309 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSession.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSession.java
@@ -71,7 +71,7 @@ public final class ConnectionSession {
     
     private final RequiredSessionVariableRecorder requiredSessionVariableRecorder = new RequiredSessionVariableRecorder();
     
-    private volatile String executionId;
+    private volatile String processId;
     
     private QueryContext queryContext;
     
diff --git a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/KillProcessExecutor.java b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/KillProcessExecutor.java
index 04a62d9b107..c60e9da1943 100644
--- a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/KillProcessExecutor.java
+++ b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/KillProcessExecutor.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.proxy.backend.mysql.handler.admin.executor;
 
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.mode.event.process.KillProcessIdRequestEvent;
+import org.apache.shardingsphere.mode.event.process.KillProcessRequestEvent;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutor;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
@@ -40,6 +40,6 @@ public final class KillProcessExecutor implements DatabaseAdminExecutor {
     @Override
     public void execute(final ConnectionSession connectionSession) {
         String processId = killStatement.getProcessId();
-        ProxyContext.getInstance().getContextManager().getInstanceContext().getEventBusContext().post(new KillProcessIdRequestEvent(processId));
+        ProxyContext.getInstance().getContextManager().getInstanceContext().getEventBusContext().post(new KillProcessRequestEvent(processId));
     }
 }
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 7790ef08d57..09aa582d7db 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
@@ -94,14 +94,14 @@ public final class ShowProcessListExecutor implements DatabaseAdminQueryExecutor
     
     private static MemoryQueryResultDataRow getMemoryQueryResultDataRow(final YamlProcessContext yamlProcessContext) {
         List<Object> rowValues = new ArrayList<>(8);
-        rowValues.add(yamlProcessContext.getExecutionID());
+        rowValues.add(yamlProcessContext.getProcessID());
         rowValues.add(yamlProcessContext.getUsername());
         rowValues.add(yamlProcessContext.getHostname());
         rowValues.add(yamlProcessContext.getDatabaseName());
-        rowValues.add(yamlProcessContext.isExecuting() ? "Execute" : "Sleep");
+        rowValues.add(yamlProcessContext.isIdle() ? "Sleep" : "Execute");
         rowValues.add(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - yamlProcessContext.getStartTimeMillis()));
         String sql = null;
-        if (!yamlProcessContext.isExecuting()) {
+        if (yamlProcessContext.isIdle()) {
             rowValues.add("");
         } else {
             int processDoneCount = yamlProcessContext.getCompletedUnitCount();
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 01aef6d5259..0c5626ff02d 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
@@ -64,7 +64,7 @@ class ShowProcessListExecutorTest {
     
     private void setupBatchProcessContexts(final ShowProcessListExecutor showProcessListExecutor) throws ReflectiveOperationException {
         String executionNodeValue = "contexts:\n"
-                + "- executionID: f6c2336a-63ba-41bf-941e-2e3504eb2c80\n"
+                + "- processID: f6c2336a-63ba-41bf-941e-2e3504eb2c80\n"
                 + "  sql: alter table t_order add column a varchar(64) after order_id\n"
                 + "  startTimeMillis: 1617939785160\n"
                 + "  databaseName: sharding_db\n"
@@ -72,7 +72,7 @@ class ShowProcessListExecutorTest {
                 + "  hostname: 127.0.0.1\n"
                 + "  totalUnitCount: 2\n"
                 + "  completedUnitCount: 1\n"
-                + "  executing: true\n";
+                + "  idle: false\n";
         Plugins.getMemberAccessor().set(showProcessListExecutor.getClass().getDeclaredField("batchProcessContexts"), showProcessListExecutor, Collections.singleton(executionNodeValue));
     }
 }
diff --git a/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandler.java b/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandler.java
index 75458694ab1..7388694be47 100644
--- a/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandler.java
+++ b/proxy/frontend/core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandler.java
@@ -82,7 +82,7 @@ public final class FrontendChannelInboundHandler extends ChannelInboundHandlerAd
             if (authResult.isFinished()) {
                 connectionSession.setGrantee(new Grantee(authResult.getUsername(), authResult.getHostname()));
                 connectionSession.setCurrentDatabase(authResult.getDatabase());
-                connectionSession.setExecutionId(processEngine.initializeConnection(connectionSession.getGrantee(), connectionSession.getDatabaseName()));
+                connectionSession.setProcessId(processEngine.initializeConnection(connectionSession.getGrantee(), connectionSession.getDatabaseName()));
             }
             return authResult.isFinished();
             // CHECKSTYLE:OFF
@@ -108,7 +108,7 @@ public final class FrontendChannelInboundHandler extends ChannelInboundHandlerAd
     private void closeAllResources() {
         ConnectionThreadExecutorGroup.getInstance().unregisterAndAwaitTermination(connectionSession.getConnectionId());
         connectionSession.getBackendConnection().closeAllResources();
-        Optional.ofNullable(connectionSession.getExecutionId()).ifPresent(processEngine::finishConnection);
+        Optional.ofNullable(connectionSession.getProcessId()).ifPresent(processEngine::finishConnection);
         databaseProtocolFrontendEngine.release(connectionSession);
     }
     
diff --git a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
index 2232dee8c66..2fce000dbdc 100644
--- a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
+++ b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
@@ -142,7 +142,7 @@ public final class MySQLMultiStatementsHandler implements ProxyBackendHandler {
                 (JDBCBackendStatement) connectionSession.getStatementManager(), new StatementOption(false), rules,
                 metaDataContexts.getMetaData().getDatabase(connectionSession.getDatabaseName()).getResourceMetaData().getStorageTypes());
         ExecutionGroupContext<JDBCExecutionUnit> executionGroupContext = prepareEngine.prepare(anyExecutionContext.getRouteContext(), samplingExecutionUnit(),
-                new ExecutionGroupReportContext(connectionSession.getDatabaseName(), connectionSession.getGrantee(), connectionSession.getExecutionId()));
+                new ExecutionGroupReportContext(connectionSession.getDatabaseName(), connectionSession.getGrantee(), connectionSession.getProcessId()));
         for (ExecutionGroup<JDBCExecutionUnit> eachGroup : executionGroupContext.getInputGroups()) {
             for (JDBCExecutionUnit each : eachGroup.getInputs()) {
                 prepareBatchedStatement(each);
diff --git a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
index 4ad079bb864..7ea68641248 100644
--- a/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
+++ b/proxy/frontend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
@@ -152,7 +152,7 @@ public final class PostgreSQLBatchedStatementsExecutor {
                 connectionSession.getBackendConnection(), (JDBCBackendStatement) connectionSession.getStatementManager(),
                 new StatementOption(false), rules, metaDataContexts.getMetaData().getDatabase(connectionSession.getDatabaseName()).getResourceMetaData().getStorageTypes());
         executionGroupContext = prepareEngine.prepare(anyExecutionContext.getRouteContext(), executionUnitParams.keySet(),
-                new ExecutionGroupReportContext(connectionSession.getDatabaseName(), connectionSession.getGrantee(), connectionSession.getExecutionId()));
+                new ExecutionGroupReportContext(connectionSession.getDatabaseName(), connectionSession.getGrantee(), connectionSession.getProcessId()));
         for (ExecutionGroup<JDBCExecutionUnit> eachGroup : executionGroupContext.getInputGroups()) {
             for (JDBCExecutionUnit each : eachGroup.getInputs()) {
                 prepareJDBCExecutionUnit(each);