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

yiguolei 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 89c3e917167 [refactor](fe) remove some forward session var logic 
(#47649)
89c3e917167 is described below

commit 89c3e917167d7058758356902391dda3efdcb474
Author: yiguolei <guo...@selectdb.com>
AuthorDate: Sun Feb 9 13:32:18 2025 +0800

    [refactor](fe) remove some forward session var logic (#47649)
---
 .../java/org/apache/doris/qe/ConnectProcessor.java | 32 ----------------------
 .../java/org/apache/doris/qe/FEOpExecutor.java     |  3 --
 .../java/org/apache/doris/qe/MasterOpExecutor.java |  2 --
 .../java/org/apache/doris/qe/SessionVariable.java  | 26 ++++--------------
 .../org/apache/doris/analysis/QueryStmtTest.java   |  2 +-
 .../org/apache/doris/qe/SessionVariablesTest.java  | 15 ----------
 6 files changed, 6 insertions(+), 74 deletions(-)

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 687d69eb709..99f76da9a24 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
@@ -599,38 +599,6 @@ public abstract class ConnectProcessor {
 
         if (request.isSetSessionVariables()) {
             
ctx.getSessionVariable().setForwardedSessionVariables(request.getSessionVariables());
-        } else {
-            // For compatibility, all following variables are moved to 
SessionVariables.
-            // Should move in future.
-            if (request.isSetTimeZone()) {
-                ctx.getSessionVariable().setTimeZone(request.getTimeZone());
-            }
-            if (request.isSetSqlMode()) {
-                ctx.getSessionVariable().setSqlMode(request.sqlMode);
-            }
-            if (request.isSetEnableStrictMode()) {
-                
ctx.getSessionVariable().setEnableInsertStrict(request.enableStrictMode);
-            }
-            if (request.isSetCurrentUserIdent()) {
-                UserIdentity currentUserIdentity = 
UserIdentity.fromThrift(request.getCurrentUserIdent());
-                ctx.setCurrentUserIdentity(currentUserIdentity);
-            }
-            if (request.isSetInsertVisibleTimeoutMs()) {
-                
ctx.getSessionVariable().setInsertVisibleTimeoutMs(request.getInsertVisibleTimeoutMs());
-            }
-        }
-
-        if (request.isSetQueryOptions()) {
-            
ctx.getSessionVariable().setForwardedSessionVariables(request.getQueryOptions());
-        } else {
-            // For compatibility, all following variables are moved to 
TQueryOptions.
-            // Should move in future.
-            if (request.isSetExecMemLimit()) {
-                
ctx.getSessionVariable().setMaxExecMemByte(request.getExecMemLimit());
-            }
-            if (request.isSetQueryTimeout()) {
-                
ctx.getSessionVariable().setQueryTimeoutS(request.getQueryTimeout());
-            }
         }
 
         if (request.isSetUserVariables()) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/FEOpExecutor.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/FEOpExecutor.java
index 3914d7ecdab..703f0b64e0b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/FEOpExecutor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/FEOpExecutor.java
@@ -161,9 +161,6 @@ public class FEOpExecutor {
         if (!Strings.isNullOrEmpty(cluster)) {
             params.setCloudCluster(cluster);
         }
-
-        // query options
-        
params.setQueryOptions(ctx.getSessionVariable().getQueryOptionVariables());
         // session variables
         
params.setSessionVariables(ctx.getSessionVariable().getForwardVariables());
         params.setUserVariables(getForwardUserVariables(ctx.getUserVars()));
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java
index 1f7d87bdfe3..3db466d21e2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java
@@ -224,8 +224,6 @@ public class MasterOpExecutor {
             }
         }
 
-        // query options
-        
params.setQueryOptions(ctx.getSessionVariable().getQueryOptionVariables());
         // session variables
         
params.setSessionVariables(ctx.getSessionVariable().getForwardVariables());
         params.setUserVariables(getForwardUserVariables(ctx.getUserVars()));
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index 5f19483de83..202129f645a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -748,10 +748,10 @@ public class SessionVariable implements Serializable, 
Writable {
     public long insertVisibleTimeoutMs = DEFAULT_INSERT_VISIBLE_TIMEOUT_MS;
 
     // max memory used on every backend.
-    @VariableMgr.VarAttr(name = EXEC_MEM_LIMIT)
+    @VariableMgr.VarAttr(name = EXEC_MEM_LIMIT, needForward = true)
     public long maxExecMemByte = 2147483648L;
 
-    @VariableMgr.VarAttr(name = SCAN_QUEUE_MEM_LIMIT,
+    @VariableMgr.VarAttr(name = SCAN_QUEUE_MEM_LIMIT, needForward = true,
             description = {"每个 Scan Instance 的 block queue 能够保存多少字节的 block",
                     "How many bytes of block can be saved in the block queue 
of each Scan Instance"})
     // 100MB
@@ -784,7 +784,8 @@ public class SessionVariable implements Serializable, 
Writable {
     private long defaultOrderByLimit = -1;
 
     // query timeout in second.
-    @VariableMgr.VarAttr(name = QUERY_TIMEOUT, checker = 
"checkQueryTimeoutValid", setter = "setQueryTimeoutS")
+    @VariableMgr.VarAttr(name = QUERY_TIMEOUT, needForward = true,
+            checker = "checkQueryTimeoutValid", setter = "setQueryTimeoutS")
     private int queryTimeoutS = 900;
 
     // query timeout in second.
@@ -804,7 +805,7 @@ public class SessionVariable implements Serializable, 
Writable {
                         setter = "setMaxExecutionTimeMS")
     public int maxExecutionTimeMS = 900000;
 
-    @VariableMgr.VarAttr(name = INSERT_TIMEOUT)
+    @VariableMgr.VarAttr(name = INSERT_TIMEOUT, needForward = true)
     public int insertTimeoutS = 14400;
 
     // if true, need report to coordinator when plan fragment execute 
successfully.
@@ -4197,23 +4198,6 @@ public class SessionVariable implements Serializable, 
Writable {
         }
     }
 
-    /**
-     * Get all variables which need to be set in TQueryOptions.
-     **/
-    public TQueryOptions getQueryOptionVariables() {
-        TQueryOptions queryOptions = new TQueryOptions();
-        queryOptions.setMemLimit(maxExecMemByte);
-        queryOptions.setScanQueueMemLimit(maxScanQueueMemByte);
-        queryOptions.setNumScannerThreads(numScannerThreads);
-        queryOptions.setMinScannerConcurrency(minScannerConcurrency);
-        
queryOptions.setMinScanSchedulerConcurrency(minScanSchedulerConcurrency);
-        queryOptions.setQueryTimeout(queryTimeoutS);
-        queryOptions.setInsertTimeout(insertTimeoutS);
-        queryOptions.setAnalyzeTimeout(analyzeTimeoutS);
-        queryOptions.setBeExecVersion(Config.be_exec_version);
-        return queryOptions;
-    }
-
     /**
      * The sessionContext is as follows:
      * "k1:v1;k2:v2;..."
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java
index 495063fe48d..c06eccc31cf 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java
@@ -267,7 +267,7 @@ public class QueryStmtTest {
                 + "  (SELECT curdate()) a;";
         StatementBase stmt = UtFrameUtils.parseAndAnalyzeStmt(sql, ctx);
         SessionVariable sessionVariable = new SessionVariable();
-        TQueryOptions queryOptions = sessionVariable.getQueryOptionVariables();
+        TQueryOptions queryOptions = sessionVariable.toThrift();
         stmt.foldConstant(new Analyzer(ctx.getEnv(), ctx).getExprRewriter(), 
queryOptions);
 
         // reAnalyze
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/qe/SessionVariablesTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/qe/SessionVariablesTest.java
index 5c83f6d8642..a0ea730636e 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/qe/SessionVariablesTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/qe/SessionVariablesTest.java
@@ -27,7 +27,6 @@ import org.apache.doris.common.PatternMatcher;
 import org.apache.doris.common.PatternMatcherWrapper;
 import org.apache.doris.common.VariableAnnotation;
 import org.apache.doris.nereids.parser.NereidsParser;
-import org.apache.doris.thrift.TQueryOptions;
 import org.apache.doris.utframe.TestWithFeService;
 
 import org.junit.jupiter.api.Assertions;
@@ -141,20 +140,6 @@ public class SessionVariablesTest extends 
TestWithFeService {
         Assertions.assertTrue(sessionVariable.enableProfile);
     }
 
-    @Test
-    public void testForwardQueryOptions() {
-        TQueryOptions queryOptions = sessionVariable.getQueryOptionVariables();
-        Assertions.assertTrue(queryOptions.isSetMemLimit());
-        Assertions.assertFalse(queryOptions.isSetLoadMemLimit());
-        Assertions.assertTrue(queryOptions.isSetQueryTimeout());
-
-        queryOptions.setQueryTimeout(123);
-        queryOptions.setInsertTimeout(123);
-        sessionVariable.setForwardedSessionVariables(queryOptions);
-        Assertions.assertEquals(123, sessionVariable.getQueryTimeoutS());
-        Assertions.assertEquals(123, sessionVariable.getInsertTimeoutS());
-    }
-
     @Test
     public void testCloneSessionVariablesWithSessionOriginValueNotEmpty() 
throws NoSuchFieldException {
         Field txIsolation = SessionVariable.class.getField("txIsolation");


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

Reply via email to