From 49483f5171c65f7a770ceb6c1618142002de9fbf Mon Sep 17 00:00:00 2001 From: meiyi Date: Mon, 23 Jun 2025 17:34:35 +0800 Subject: [PATCH] [fix](fe) multi statements different behavior in master and follower --- .../main/java/org/apache/doris/qe/ConnectProcessor.java | 4 +++- regression-test/data/insert_p0/insert.out | 6 ++++++ regression-test/suites/insert_p0/insert.groovy | 9 +++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java index 97fcd84670c99e..f127dc4eae51f2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java @@ -376,7 +376,9 @@ public void executeQuery(String originStmt) throws Exception { auditAfterExec(auditStmt, executor.getParsedStmt(), executor.getQueryStatisticsForAuditLog(), true); // execute failed, skip remaining stmts - if (ctx.getState().getStateType() == MysqlStateType.ERR) { + if (ctx.getState().getStateType() == MysqlStateType.ERR || (!Env.getCurrentEnv().isMaster() + && ctx.executor != null && ctx.executor.isForwardToMaster() + && ctx.executor.getProxyStatusCode() != 0)) { break; } } catch (Throwable throwable) { diff --git a/regression-test/data/insert_p0/insert.out b/regression-test/data/insert_p0/insert.out index b582f45123dc66..bd2216290c7080 100644 --- a/regression-test/data/insert_p0/insert.out +++ b/regression-test/data/insert_p0/insert.out @@ -202,3 +202,9 @@ 44980 113.8777 again 1987-04-09 2010-01-02T04:03:06 false -0.01 0E-10 44980 113.8777 again 1987-04-09 2010-01-02T04:03:06 false -0.01 0E-10 +-- !select1 -- +1994-12-08 1 1 +1994-12-14 1 1 +1994-12-14 2 1 +2000-12-08 1 1 + diff --git a/regression-test/suites/insert_p0/insert.groovy b/regression-test/suites/insert_p0/insert.groovy index fe5d1f11e62754..84696941da5e2a 100644 --- a/regression-test/suites/insert_p0/insert.groovy +++ b/regression-test/suites/insert_p0/insert.groovy @@ -154,4 +154,13 @@ suite("insert") { sql("insert into dest values(now(), 0xff, 0xaa)") exception "Unknown column '0xff' in 'table list' in UNBOUND_OLAP_TABLE_SINK clause" } + + try { + sql """ insert into source values('2000-12-08', 1, 1); + insert into source values('2000-12-09', 1, 1, 100); + insert into source values('2000-12-10', 1, 1); """ + } catch (Exception e) { + logger.info("exception: " + e.getMessage()) + } + order_qt_select1 """ select * from source; """ }