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/04/28 15:49:23 UTC
[shardingsphere] branch master updated: Remove ExecuteProcessContext.proxyContext (#25408)
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 36cf4c9f5c7 Remove ExecuteProcessContext.proxyContext (#25408)
36cf4c9f5c7 is described below
commit 36cf4c9f5c72ce0b3dad689ee3a3b14633cf0c33
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri Apr 28 23:49:16 2023 +0800
Remove ExecuteProcessContext.proxyContext (#25408)
---
.../executor/sql/process/ExecuteProcessEngine.java | 7 ++---
.../sql/process/ExecuteProcessReporter.java | 36 +++++++++-------------
...nit.java => ExecuteProcessReporterCleaner.java} | 22 +++++++------
.../sql/process/model/ExecuteProcessContext.java | 9 ++----
.../sql/process/ExecuteProcessReporterTest.java | 7 ++---
.../YamlAllExecuteProcessContextsSwapperTest.java | 2 +-
.../YamlExecuteProcessContextSwapperTest.java | 2 +-
.../DriverExecuteProcessReporterCleaner.java | 20 ++++++------
...cutor.sql.process.ExecuteProcessReporterCleaner | 18 +++++++++++
.../ProxyExecuteProcessReporterCleaner.java | 19 ++++++------
...cutor.sql.process.ExecuteProcessReporterCleaner | 18 +++++++++++
11 files changed, 93 insertions(+), 67 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 414ec0b6c9c..98d77535058 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
@@ -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.kernel.model.ExecutionGroupReportContext;
import org.apache.shardingsphere.infra.executor.sql.execute.engine.SQLExecutionUnit;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
import org.apache.shardingsphere.infra.metadata.user.Grantee;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DDLStatement;
@@ -46,7 +45,7 @@ public final class ExecuteProcessEngine {
*/
public String initializeConnection(final Grantee grantee, final String databaseName) {
ExecutionGroupContext<SQLExecutionUnit> executionGroupContext = createExecutionGroupContext(grantee, databaseName);
- reporter.report(executionGroupContext);
+ reporter.reportConnect(executionGroupContext);
return executionGroupContext.getReportContext().getExecutionID();
}
@@ -72,7 +71,7 @@ public final class ExecuteProcessEngine {
public void initializeExecution(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext, final QueryContext queryContext) {
if (isMySQLDDLOrDMLStatement(queryContext.getSqlStatementContext().getSqlStatement())) {
ExecuteIDContext.set(executionGroupContext.getReportContext().getExecutionID());
- reporter.report(queryContext, executionGroupContext, ExecuteProcessStatus.START);
+ reporter.reportExecute(queryContext, executionGroupContext);
}
}
@@ -85,7 +84,7 @@ public final class ExecuteProcessEngine {
if (ExecuteIDContext.isEmpty()) {
return;
}
- reporter.report(ExecuteIDContext.get(), executionUnit, ExecuteProcessStatus.DONE);
+ reporter.reportComplete(ExecuteIDContext.get(), executionUnit);
}
/**
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 6ce5d1f2f28..6d66d076fbb 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
@@ -23,6 +23,7 @@ import org.apache.shardingsphere.infra.executor.sql.execute.engine.SQLExecutionU
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;
import java.util.Optional;
@@ -32,42 +33,37 @@ import java.util.Optional;
public final class ExecuteProcessReporter {
/**
- * Report this connection for proxy.
+ * Report connect.
*
* @param executionGroupContext execution group context
*/
- public void report(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
- ExecuteProcessContext executeProcessContext = new ExecuteProcessContext("", executionGroupContext, ExecuteProcessStatus.SLEEP, true);
+ public void reportConnect(final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
+ ExecuteProcessContext executeProcessContext = new ExecuteProcessContext("", executionGroupContext, ExecuteProcessStatus.SLEEP);
ShowProcessListManager.getInstance().putProcessContext(executeProcessContext.getExecutionID(), executeProcessContext);
}
/**
- * Report the summary of this task.
+ * Report execute.
*
* @param queryContext query context
* @param executionGroupContext execution group context
- * @param processStatus process status
*/
- public void report(final QueryContext queryContext, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext,
- final ExecuteProcessStatus processStatus) {
- ExecuteProcessContext originExecuteProcessContext = ShowProcessListManager.getInstance().getProcessContext(executionGroupContext.getReportContext().getExecutionID());
- boolean isProxyContext = null != originExecuteProcessContext && originExecuteProcessContext.isProxyContext();
- ExecuteProcessContext executeProcessContext = new ExecuteProcessContext(queryContext.getSql(), executionGroupContext, processStatus, isProxyContext);
+ public void reportExecute(final QueryContext queryContext, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext) {
+ ExecuteProcessContext executeProcessContext = new ExecuteProcessContext(queryContext.getSql(), executionGroupContext, ExecuteProcessStatus.START);
ShowProcessListManager.getInstance().putProcessContext(executeProcessContext.getExecutionID(), executeProcessContext);
ShowProcessListManager.getInstance().putProcessStatement(executeProcessContext.getExecutionID(), executeProcessContext.getProcessStatements());
}
/**
- * Report a unit of this task.
+ * Report complete execution unit.
*
* @param executionID execution ID
* @param executionUnit execution unit
- * @param processStatus process status
*/
- public void report(final String executionID, final SQLExecutionUnit executionUnit, final ExecuteProcessStatus processStatus) {
- ExecuteProcessUnit executeProcessUnit = new ExecuteProcessUnit(executionUnit.getExecutionUnit(), processStatus);
+ public void reportComplete(final String executionID, final SQLExecutionUnit executionUnit) {
+ ExecuteProcessUnit executeProcessUnit = new ExecuteProcessUnit(executionUnit.getExecutionUnit(), ExecuteProcessStatus.DONE);
ExecuteProcessContext executeProcessContext = ShowProcessListManager.getInstance().getProcessContext(executionID);
- Optional.ofNullable(executeProcessContext.getProcessUnits().get(executeProcessUnit.getUnitID())).ifPresent(optional -> optional.setStatus(executeProcessUnit.getStatus()));
+ Optional.ofNullable(executeProcessContext.getProcessUnits().get(executeProcessUnit.getUnitID())).ifPresent(optional -> optional.setStatus(ExecuteProcessStatus.DONE));
}
/**
@@ -77,14 +73,12 @@ public final class ExecuteProcessReporter {
*/
public void reset(final String executionID) {
ShowProcessListManager.getInstance().removeProcessStatement(executionID);
- ExecuteProcessContext executeProcessContext = ShowProcessListManager.getInstance().getProcessContext(executionID);
- if (null == executeProcessContext) {
+ ExecuteProcessContext context = ShowProcessListManager.getInstance().getProcessContext(executionID);
+ if (null == context) {
return;
}
- if (executeProcessContext.isProxyContext()) {
- executeProcessContext.reset();
- } else {
- ShowProcessListManager.getInstance().removeProcessContext(executionID);
+ for (ExecuteProcessReporterCleaner each : ShardingSphereServiceLoader.getServiceInstances(ExecuteProcessReporterCleaner.class)) {
+ each.reset(context);
}
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessUnit.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporterCleaner.java
similarity index 68%
copy from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessUnit.java
copy to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporterCleaner.java
index 4648d611310..19ae387e5e4 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessUnit.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporterCleaner.java
@@ -15,19 +15,21 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.executor.sql.process.yaml;
+package org.apache.shardingsphere.infra.executor.sql.process;
-import lombok.Getter;
-import lombok.Setter;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
-import org.apache.shardingsphere.infra.util.yaml.YamlConfiguration;
+import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
+import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
/**
- * Execute process unit for YAML.
+ * Execute process reporter cleaner.
*/
-@Getter
-@Setter
-public final class YamlExecuteProcessUnit implements YamlConfiguration {
+@SingletonSPI
+public interface ExecuteProcessReporterCleaner {
- private ExecuteProcessStatus processStatus;
+ /**
+ * Reset reporter.
+ *
+ * @param context execute process context
+ */
+ void reset(ExecuteProcessContext context);
}
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 91d5aa8e476..ebbc32d577f 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
@@ -44,25 +44,22 @@ public final class ExecuteProcessContext {
private final String hostname;
- private final boolean proxyContext;
-
private final Map<String, ExecuteProcessUnit> processUnits = new HashMap<>();
private final Collection<Statement> processStatements = new LinkedList<>();
private String sql;
- private ExecuteProcessStatus status;
-
private long startMillis;
- public ExecuteProcessContext(final String sql, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext, final ExecuteProcessStatus status, final boolean isProxyContext) {
+ private ExecuteProcessStatus status;
+
+ public ExecuteProcessContext(final String sql, final ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext, final ExecuteProcessStatus status) {
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();
- proxyContext = isProxyContext;
this.sql = sql;
this.status = status;
startMillis = System.currentTimeMillis();
diff --git a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporterTest.java b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporterTest.java
index 4fc55e0e654..369811e0b27 100644
--- a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporterTest.java
+++ b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/process/ExecuteProcessReporterTest.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupRepor
import org.apache.shardingsphere.infra.executor.sql.context.ExecutionUnit;
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.test.mock.AutoMockExtension;
import org.apache.shardingsphere.test.mock.StaticMockSettings;
import org.junit.jupiter.api.BeforeEach;
@@ -52,9 +51,9 @@ class ExecuteProcessReporterTest {
}
@Test
- void assertReport() {
+ void assertReportExecute() {
ExecutionGroupContext<? extends SQLExecutionUnit> executionGroupContext = mockExecutionGroupContext();
- new ExecuteProcessReporter().report(new QueryContext(null, null, null), executionGroupContext, ExecuteProcessStatus.START);
+ new ExecuteProcessReporter().reportExecute(new QueryContext(null, null, null), executionGroupContext);
verify(showProcessListManager).putProcessContext(eq(executionGroupContext.getReportContext().getExecutionID()), any());
}
@@ -72,7 +71,7 @@ class ExecuteProcessReporterTest {
SQLExecutionUnit sqlExecutionUnit = mock(SQLExecutionUnit.class);
when(sqlExecutionUnit.getExecutionUnit()).thenReturn(mock(ExecutionUnit.class));
when(showProcessListManager.getProcessContext("foo_id")).thenReturn(mock(ExecuteProcessContext.class));
- new ExecuteProcessReporter().report("foo_id", sqlExecutionUnit, ExecuteProcessStatus.DONE);
+ new ExecuteProcessReporter().reportComplete("foo_id", sqlExecutionUnit);
verify(showProcessListManager).getProcessContext("foo_id");
}
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 8d211ceba5c..51fa0dfed37 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
@@ -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, true);
+ ExecuteProcessContext executeProcessContext = new ExecuteProcessContext("SELECT 1", executionGroupContext, ExecuteProcessStatus.START);
YamlAllExecuteProcessContexts actual = new YamlAllExecuteProcessContextsSwapper().swapToYamlConfiguration(Collections.singleton(executeProcessContext));
assertThat(actual.getContexts().size(), is(1));
assertYamlExecuteProcessContext(actual.getContexts().iterator().next());
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 4183ce284e8..f0ede46a69f 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
@@ -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, true);
+ ExecuteProcessContext executeProcessContext = new ExecuteProcessContext("SELECT 1", executionGroupContext, ExecuteProcessStatus.START);
YamlExecuteProcessContext actual = new YamlExecuteProcessContextSwapper().swapToYamlConfiguration(executeProcessContext);
assertNotNull(actual.getExecutionID());
assertThat(actual.getDatabaseName(), is("foo_db"));
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessUnit.java b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/sql/process/DriverExecuteProcessReporterCleaner.java
similarity index 60%
copy from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessUnit.java
copy to jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/sql/process/DriverExecuteProcessReporterCleaner.java
index 4648d611310..a8f42677a81 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessUnit.java
+++ b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/executor/sql/process/DriverExecuteProcessReporterCleaner.java
@@ -15,19 +15,19 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.executor.sql.process.yaml;
+package org.apache.shardingsphere.driver.executor.sql.process;
-import lombok.Getter;
-import lombok.Setter;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
-import org.apache.shardingsphere.infra.util.yaml.YamlConfiguration;
+import org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessReporterCleaner;
+import org.apache.shardingsphere.infra.executor.sql.process.ShowProcessListManager;
+import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
/**
- * Execute process unit for YAML.
+ * Execute process reporter cleaner for driver.
*/
-@Getter
-@Setter
-public final class YamlExecuteProcessUnit implements YamlConfiguration {
+public final class DriverExecuteProcessReporterCleaner implements ExecuteProcessReporterCleaner {
- private ExecuteProcessStatus processStatus;
+ @Override
+ public void reset(final ExecuteProcessContext context) {
+ ShowProcessListManager.getInstance().removeProcessContext(context.getExecutionID());
+ }
}
diff --git a/jdbc/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessReporterCleaner b/jdbc/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessReporterCleaner
new file mode 100644
index 00000000000..b9e2689a923
--- /dev/null
+++ b/jdbc/core/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessReporterCleaner
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+
+org.apache.shardingsphere.driver.executor.sql.process.DriverExecuteProcessReporterCleaner
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessUnit.java b/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/executor/sql/process/ProxyExecuteProcessReporterCleaner.java
similarity index 67%
rename from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessUnit.java
rename to proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/executor/sql/process/ProxyExecuteProcessReporterCleaner.java
index 4648d611310..ade9fd7ef8a 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/yaml/YamlExecuteProcessUnit.java
+++ b/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/executor/sql/process/ProxyExecuteProcessReporterCleaner.java
@@ -15,19 +15,18 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.executor.sql.process.yaml;
+package org.apache.shardingsphere.proxy.executor.sql.process;
-import lombok.Getter;
-import lombok.Setter;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatus;
-import org.apache.shardingsphere.infra.util.yaml.YamlConfiguration;
+import org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessReporterCleaner;
+import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
/**
- * Execute process unit for YAML.
+ * Execute process reporter cleaner for proxy.
*/
-@Getter
-@Setter
-public final class YamlExecuteProcessUnit implements YamlConfiguration {
+public final class ProxyExecuteProcessReporterCleaner implements ExecuteProcessReporterCleaner {
- private ExecuteProcessStatus processStatus;
+ @Override
+ public void reset(final ExecuteProcessContext context) {
+ context.reset();
+ }
}
diff --git a/proxy/bootstrap/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessReporterCleaner b/proxy/bootstrap/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessReporterCleaner
new file mode 100644
index 00000000000..ba0c7f22624
--- /dev/null
+++ b/proxy/bootstrap/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessReporterCleaner
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+
+org.apache.shardingsphere.proxy.executor.sql.process.ProxyExecuteProcessReporterCleaner