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

dataroaring pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new ccd1b073f80 branch-2.1: [fix](group commit) check group commit session 
value (#48253)
ccd1b073f80 is described below

commit ccd1b073f800cd993a7fd313ab6e43e71e7dc64b
Author: meiyi <me...@selectdb.com>
AuthorDate: Mon Feb 24 21:55:53 2025 +0800

    branch-2.1: [fix](group commit) check group commit session value (#48253)
    
    pick https://github.com/apache/doris/pull/48112
---
 fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java   | 8 ++++++++
 regression-test/suites/insert_p0/insert_group_commit_into.groovy | 5 +++++
 2 files changed, 13 insertions(+)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
index e80860bf584..38b3a472e77 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
@@ -25,6 +25,7 @@ import org.apache.doris.common.UserException;
 import org.apache.doris.common.util.ParseUtil;
 import org.apache.doris.common.util.TimeUtils;
 import org.apache.doris.mysql.privilege.PrivPredicate;
+import org.apache.doris.planner.GroupCommitBlockSink;
 import org.apache.doris.qe.ConnectContext;
 import org.apache.doris.qe.GlobalVariable;
 import org.apache.doris.qe.SessionVariable;
@@ -178,6 +179,13 @@ public class SetVar {
             this.value = new 
StringLiteral(TimeUtils.checkTimeZoneValidAndStandardize(getResult().getStringValue()));
             this.result = (LiteralExpr) this.value;
         }
+        if (getVariable().equalsIgnoreCase(SessionVariable.GROUP_COMMIT)) {
+            String value = getResult().getStringValue();
+            if (GroupCommitBlockSink.parseGroupCommit(value) == null) {
+                
ErrorReport.reportAnalysisException(ErrorCode.ERR_WRONG_VALUE_FOR_VAR,
+                        SessionVariable.GROUP_COMMIT, value);
+            }
+        }
 
         if (getVariable().equalsIgnoreCase(SessionVariable.EXEC_MEM_LIMIT)
                 || 
getVariable().equalsIgnoreCase(SessionVariable.SCAN_QUEUE_MEM_LIMIT)) {
diff --git a/regression-test/suites/insert_p0/insert_group_commit_into.groovy 
b/regression-test/suites/insert_p0/insert_group_commit_into.groovy
index 4c616c3a33f..4d43c38f149 100644
--- a/regression-test/suites/insert_p0/insert_group_commit_into.groovy
+++ b/regression-test/suites/insert_p0/insert_group_commit_into.groovy
@@ -121,6 +121,11 @@ suite("insert_group_commit_into") {
             """
 
             connect(context.config.jdbcUser, context.config.jdbcPassword, 
context.config.jdbcUrl) {
+                test {
+                    sql """ set group_commit = abc; """
+                    exception """ Variable 'group_commit' can't be set to the 
value of """
+                }
+
                 sql """ set group_commit = async_mode; """
                 if (item == "nereids") {
                     sql """ set enable_nereids_dml = true; """


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

Reply via email to