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

starocean999 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 8f5f928797f [opt](nereids)pass ConnectContext to 
canUseNereidsDistributePlanner method instead of call ConnectContext.get() 
(#60529)
8f5f928797f is described below

commit 8f5f928797ff8f18297d9d755eb6a67c35945b2d
Author: starocean999 <[email protected]>
AuthorDate: Wed Feb 11 11:29:16 2026 +0800

    [opt](nereids)pass ConnectContext to canUseNereidsDistributePlanner method 
instead of call ConnectContext.get() (#60529)
    
    this can make sure the planner always use the same ConnectContext
---
 fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java | 4 ++--
 fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java | 8 +++++++-
 .../src/test/java/org/apache/doris/qe/NereidsCoordinatorTest.java | 2 +-
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java
index f8930ee6247..3ecdb6ddef3 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/EnvFactory.java
@@ -145,7 +145,7 @@ public class EnvFactory {
 
     public Coordinator createCoordinator(ConnectContext context, Planner 
planner,
                                          StatsErrorEstimator 
statsErrorEstimator) {
-        if (planner instanceof NereidsPlanner && 
SessionVariable.canUseNereidsDistributePlanner()) {
+        if (planner instanceof NereidsPlanner && 
SessionVariable.canUseNereidsDistributePlanner(context)) {
             return new NereidsCoordinator(context, (NereidsPlanner) planner, 
statsErrorEstimator);
         }
         return new Coordinator(context, planner, statsErrorEstimator);
@@ -153,7 +153,7 @@ public class EnvFactory {
 
     public Coordinator createCoordinator(ConnectContext context, Planner 
planner,
                                          StatsErrorEstimator 
statsErrorEstimator, long jobId) {
-        if (planner instanceof NereidsPlanner && 
SessionVariable.canUseNereidsDistributePlanner()) {
+        if (planner instanceof NereidsPlanner && 
SessionVariable.canUseNereidsDistributePlanner(context)) {
             return new NereidsCoordinator(context, (NereidsPlanner) planner, 
statsErrorEstimator, jobId);
         }
         return new Coordinator(context, planner, statsErrorEstimator);
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 bb577aa16f9..c9fb2afa9ee 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
@@ -4723,9 +4723,15 @@ public class SessionVariable implements Serializable, 
Writable {
     /** canUseNereidsDistributePlanner */
     public static boolean canUseNereidsDistributePlanner() {
         ConnectContext connectContext = ConnectContext.get();
-        if (connectContext == null) {
+        if (connectContext != null) {
+            return canUseNereidsDistributePlanner(connectContext);
+        } else {
             return true;
         }
+    }
+
+    /** canUseNereidsDistributePlanner */
+    public static boolean canUseNereidsDistributePlanner(ConnectContext 
connectContext) {
         SessionVariable sessionVariable = connectContext.getSessionVariable();
         StatementContext statementContext = 
connectContext.getStatementContext();
         if (statementContext != null) {
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/qe/NereidsCoordinatorTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/qe/NereidsCoordinatorTest.java
index ae95a726bcb..f36b1db9dd5 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/qe/NereidsCoordinatorTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/qe/NereidsCoordinatorTest.java
@@ -82,7 +82,7 @@ public class NereidsCoordinatorTest extends TestWithFeService 
{
     }
 
     private NereidsPlanner plan(String sql) throws IOException {
-        return plan(sql, createDefaultCtx());
+        return plan(sql, connectContext);
     }
 
     private NereidsPlanner plan(String sql, ConnectContext connectContext) 
throws IOException {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to