From 81b1da9fa901ef997c322f5b5cd7721ad884596e Mon Sep 17 00:00:00 2001 From: wuwenchi Date: Fri, 13 Sep 2024 13:48:07 +0800 Subject: [PATCH] fix --- .../java/org/apache/doris/qe/AutoCloseConnectContext.java | 1 + .../src/main/java/org/apache/doris/qe/ConnectContext.java | 5 +++++ .../main/java/org/apache/doris/qe/MysqlConnectProcessor.java | 2 ++ 3 files changed, 8 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/AutoCloseConnectContext.java b/fe/fe-core/src/main/java/org/apache/doris/qe/AutoCloseConnectContext.java index ffebe97e706548..0c400950c58052 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/AutoCloseConnectContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/AutoCloseConnectContext.java @@ -36,6 +36,7 @@ public void call() { @Override public void close() { + connectContext.clear(); ConnectContext.remove(); if (previousContext != null) { previousContext.setThreadLocalInfo(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java index 1b70c5b318bd10..e11f4dce803735 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java @@ -832,6 +832,11 @@ public StmtExecutor getExecutor() { return executor; } + public void clear() { + executor = null; + statementContext = null; + } + public PlSqlOperation getPlSqlOperation() { if (plSqlOperation == null) { plSqlOperation = new PlSqlOperation(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/MysqlConnectProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/MysqlConnectProcessor.java index 0f3de945f8508b..9c177f341b07f2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/MysqlConnectProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/MysqlConnectProcessor.java @@ -283,6 +283,8 @@ public void processOnce() throws IOException { finalizeCommand(); ctx.setCommand(MysqlCommand.COM_SLEEP); + ctx.clear(); + executor = null; } public void loop() {