You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2023/01/22 05:50:54 UTC
[shardingsphere] branch master updated: Refactor ExecuteProcessEngine (#23700)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 2d7dcb6fadb Refactor ExecuteProcessEngine (#23700)
2d7dcb6fadb is described below
commit 2d7dcb6fadb6b241603088051e559ffa9acbe661
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Jan 22 13:50:48 2023 +0800
Refactor ExecuteProcessEngine (#23700)
---
.../executor/sql/process/ExecuteProcessEngine.java | 17 +++++++++++------
.../mode/process/GovernanceExecuteProcessReporter.java | 17 +++++++++--------
.../subscriber/ProcessStandaloneSubscriber.java | 3 +--
3 files changed, 21 insertions(+), 16 deletions(-)
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessEngine.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessEngine.java
index 17ce3a7ee76..91b8fd9a97f 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessEngine.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessEngine.java
@@ -50,21 +50,26 @@ public final class ExecuteProcessEngine {
*
* @param grantee grantee
* @param databaseName database name
- * @return execution id
+ * @return execution ID
*/
public static String initializeConnection(final Grantee grantee, final String databaseName) {
- ExecutionGroupContext<SQLExecutionUnit> executionGroupContext = new ExecutionGroupContext<>(Collections.emptyList());
- executionGroupContext.setExecutionID(new UUID(ThreadLocalRandom.current().nextLong(), ThreadLocalRandom.current().nextLong()).toString().replace("-", ""));
- executionGroupContext.setGrantee(grantee);
- executionGroupContext.setDatabaseName(databaseName);
+ ExecutionGroupContext<SQLExecutionUnit> executionGroupContext = createExecutionGroupContext(grantee, databaseName);
OptionalSPIRegistry.findRegisteredService(ExecuteProcessReporter.class).ifPresent(optional -> optional.report(executionGroupContext));
return executionGroupContext.getExecutionID();
}
+ private static ExecutionGroupContext<SQLExecutionUnit> createExecutionGroupContext(final Grantee grantee, final String databaseName) {
+ ExecutionGroupContext<SQLExecutionUnit> result = new ExecutionGroupContext<>(Collections.emptyList());
+ result.setExecutionID(new UUID(ThreadLocalRandom.current().nextLong(), ThreadLocalRandom.current().nextLong()).toString().replace("-", ""));
+ result.setGrantee(grantee);
+ result.setDatabaseName(databaseName);
+ return result;
+ }
+
/**
* Finish connection.
*
- * @param executionID execution id
+ * @param executionID execution ID
*/
public static void finishConnection(final String executionID) {
OptionalSPIRegistry.findRegisteredService(ExecuteProcessReporter.class).ifPresent(optional -> optional.reportRemove(executionID));
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/process/GovernanceExecuteProcessReporter.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/process/GovernanceExecuteProcessReporter.java
index d3107078659..b2c95250108 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/process/GovernanceExecuteProcessReporter.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/process/GovernanceExecuteProcessReporter.java
@@ -63,14 +63,15 @@ public final class GovernanceExecuteProcessReporter implements ExecuteProcessRep
@Override
public void reportClean(final String executionID) {
ShowProcessListManager.getInstance().removeProcessStatement(executionID);
- Optional.ofNullable(ShowProcessListManager.getInstance().getProcessContext(executionID)).ifPresent(
- executeProcessContext -> {
- if (executeProcessContext.isProxyContext()) {
- executeProcessContext.resetExecuteProcessContextToSleep();
- } else {
- ShowProcessListManager.getInstance().removeProcessContext(executionID);
- }
- });
+ ExecuteProcessContext executeProcessContext = ShowProcessListManager.getInstance().getProcessContext(executionID);
+ if (null == executeProcessContext) {
+ return;
+ }
+ if (executeProcessContext.isProxyContext()) {
+ executeProcessContext.resetExecuteProcessContextToSleep();
+ } else {
+ ShowProcessListManager.getInstance().removeProcessContext(executionID);
+ }
}
@Override
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 871ab9d2bb4..9eaf487d252 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
@@ -53,8 +53,7 @@ public final class ProcessStandaloneSubscriber {
*/
@Subscribe
public void loadShowProcessListData(final ShowProcessListRequestEvent event) {
- BatchYamlExecuteProcessContext batchYamlExecuteProcessContext = new BatchYamlExecuteProcessContext(new ArrayList<>(
- ShowProcessListManager.getInstance().getProcessContexts().values()));
+ BatchYamlExecuteProcessContext batchYamlExecuteProcessContext = new BatchYamlExecuteProcessContext(new ArrayList<>(ShowProcessListManager.getInstance().getProcessContexts().values()));
eventBusContext.post(new ShowProcessListResponseEvent(batchYamlExecuteProcessContext.getContexts().isEmpty()
? Collections.emptyList()
: Collections.singletonList(YamlEngine.marshal(batchYamlExecuteProcessContext))));