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

morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new d8da2987a0f [fix](nereids) fix This stopwatch is already running 
(#37095)
d8da2987a0f is described below

commit d8da2987a0fb3306d67d5a5dea41fa96d424360e
Author: meiyi <myime...@gmail.com>
AuthorDate: Tue Jul 2 10:01:27 2024 +0800

    [fix](nereids) fix This stopwatch is already running (#37095)
    
    If plan throws exception, the stop watch is not stopped, and when
    execute next sql will get exception:
    
    2024-07-01 19:05:01,679 WARN (mysql-nio-pool-21|660) 
[StmtExecutor.execute():601] Analyze failed. stmt[10651860, 
6cea9e53220940ee-b324d18af20d9ab7]
    org.apache.doris.common.NereidsException: errCode = 2, detailMessage = This 
stopwatch is already running.
            at 
org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:755) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:584) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:537) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.nereids.trees.plans.commands.ExecuteCommand.run(ExecuteCommand.java:82)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:727) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:584) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:537) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.qe.MysqlConnectProcessor.handleExecute(MysqlConnectProcessor.java:201)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.qe.MysqlConnectProcessor.handleExecute(MysqlConnectProcessor.java:246)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.qe.MysqlConnectProcessor.dispatch(MysqlConnectProcessor.java:291)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.qe.MysqlConnectProcessor.processOnce(MysqlConnectProcessor.java:342)
 ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
~[?:?]
            at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
~[?:?]
            at java.lang.Thread.run(Thread.java:833) ~[?:?]
    Caused by: org.apache.doris.common.AnalysisException: errCode = 2, 
detailMessage = This stopwatch is already running.
            ... 15 more
    Caused by: java.lang.IllegalStateException: This stopwatch is already 
running.
            at 
com.google.common.base.Preconditions.checkState(Preconditions.java:512) 
~[guava-32.1.2-jre.jar:?]
            at com.google.common.base.Stopwatch.start(Stopwatch.java:166) 
~[guava-32.1.2-jre.jar:?]
            at 
org.apache.doris.nereids.NereidsPlanner.plan(NereidsPlanner.java:140) 
~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand.initPlan(InsertIntoTableCommand
    .java:155) ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand.runInternal(InsertIntoTableComm
    and.java:226) ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand.run(InsertIntoTableCommand.java
    :105) ~[doris-fe.jar:1.2-SNAPSHOT]
            at 
org.apache.doris.qe.StmtExecutor.executeByNereids(StmtExecutor.java:727) 
~[doris-fe.jar:1.2-SNAPSHOT]
            ... 14 more
---
 .../src/main/java/org/apache/doris/nereids/NereidsPlanner.java | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
index e0d6f2f7589..97377c7ba26 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
@@ -138,9 +138,13 @@ public class NereidsPlanner extends Planner {
 
         PhysicalProperties requireProperties = buildInitRequireProperties();
         statementContext.getStopwatch().start();
-        boolean showPlanProcess = 
showPlanProcess(queryStmt.getExplainOptions());
-        Plan resultPlan = plan(parsedPlan, requireProperties, explainLevel, 
showPlanProcess);
-        statementContext.getStopwatch().stop();
+        Plan resultPlan = null;
+        try {
+            boolean showPlanProcess = 
showPlanProcess(queryStmt.getExplainOptions());
+            resultPlan = plan(parsedPlan, requireProperties, explainLevel, 
showPlanProcess);
+        } finally {
+            statementContext.getStopwatch().stop();
+        }
         setOptimizedPlan(resultPlan);
 
         if (resultPlan instanceof PhysicalPlan) {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to