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