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]