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));
}
}