diff --git a/be/src/runtime/memory/mem_tracker_limiter.cpp b/be/src/runtime/memory/mem_tracker_limiter.cpp index 4e2a0e22fbe524..562b97a18542bc 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.cpp +++ b/be/src/runtime/memory/mem_tracker_limiter.cpp @@ -113,7 +113,7 @@ MemTrackerLimiter::~MemTrackerLimiter() { std::string err_msg = fmt::format( "mem tracker label: {}, consumption: {}, peak consumption: {}, {}.", label(), consumption(), peak_consumption(), mem_tracker_inaccurate_msg); - LOG(FATAL) << err_msg << print_address_sanitizers(); + LOG(INFO) << err_msg << print_address_sanitizers(); } if (ExecEnv::tracking_memory()) { ExecEnv::GetInstance()->orphan_mem_tracker()->consume(consumption()); @@ -124,11 +124,11 @@ MemTrackerLimiter::~MemTrackerLimiter() { // orphan memory tracker first to help us debug. LOG(INFO) << "Orphan memory tracker consumption: " << ExecEnv::GetInstance()->orphan_mem_tracker()->print_address_sanitizers(); - LOG(FATAL) << "[Address Sanitizer] consumption is 0, but address sanitizers not empty. " - << ", mem tracker label: " << _label - << ", peak consumption: " << peak_consumption() << print_address_sanitizers(); + LOG(INFO) << "[Address Sanitizer] consumption is 0, but address sanitizers not empty. " + << ", mem tracker label: " << _label + << ", peak consumption: " << peak_consumption() << print_address_sanitizers(); } - DCHECK_EQ(reserved_consumption(), 0); + //DCHECK_EQ(reserved_consumption(), 0); memory_memtrackerlimiter_cnt << -1; } 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 efef90acc124f5..18980008c7823f 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 @@ -29,7 +29,6 @@ import org.apache.doris.common.util.TimeUtils; import org.apache.doris.common.util.Util; import org.apache.doris.nereids.StatementContext; -import org.apache.doris.nereids.analyzer.UnboundResultSink; import org.apache.doris.nereids.glue.LogicalPlanAdapter; import org.apache.doris.nereids.metrics.Event; import org.apache.doris.nereids.metrics.EventSwitchParser; @@ -37,9 +36,6 @@ import org.apache.doris.nereids.rules.RuleType; import org.apache.doris.nereids.rules.exploration.mv.PreMaterializedViewRewriter.PreRewriteStrategy; import org.apache.doris.nereids.rules.expression.ExpressionRuleType; -import org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand; -import org.apache.doris.nereids.trees.plans.logical.LogicalFileSink; -import org.apache.doris.nereids.trees.plans.logical.LogicalPlan; import org.apache.doris.planner.GroupCommitBlockSink; import org.apache.doris.qe.VariableMgr.VarAttr; import org.apache.doris.thrift.TGroupCommitMode; @@ -4431,13 +4427,6 @@ public static boolean canUseNereidsDistributePlanner() { if (!(parsedStatement instanceof LogicalPlanAdapter)) { return false; } - LogicalPlan logicalPlan = ((LogicalPlanAdapter) parsedStatement).getLogicalPlan(); - // TODO: support other sink - if (!(logicalPlan instanceof UnboundResultSink - || logicalPlan instanceof LogicalFileSink - || logicalPlan instanceof InsertIntoTableCommand)) { - return false; - } } return sessionVariable.enableNereidsDistributePlanner; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java index 0c2478a5ae0b4c..244697f6c317d0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java @@ -2012,6 +2012,7 @@ private HttpStreamParams generateHttpStreamNereidsPlan(TUniqueId queryId) { Preconditions.checkState(parsedStmt instanceof LogicalPlanAdapter, "Nereids only process LogicalPlanAdapter, but parsedStmt is " + parsedStmt.getClass().getName()); context.getState().setNereids(true); + context.getStatementContext().setParsedStatement(parsedStmt); InsertIntoTableCommand insert = (InsertIntoTableCommand) ((LogicalPlanAdapter) parsedStmt).getLogicalPlan(); try { diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java index 2bb495dc494829..3902fc7b2c1b33 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java @@ -31,6 +31,7 @@ import org.apache.doris.catalog.Database; import org.apache.doris.catalog.DatabaseIf; import org.apache.doris.catalog.Env; +import org.apache.doris.catalog.EnvFactory; import org.apache.doris.catalog.MaterializedIndex; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.Partition; @@ -2163,7 +2164,8 @@ private HttpStreamParams initHttpStreamPlan(TStreamLoadPutRequest request, Conne StmtExecutor executor = new StmtExecutor(ctx, originStmt); httpStreamParams = executor.generateHttpStreamPlan(ctx.queryId()); - Coordinator coord = new Coordinator(ctx, executor.planner()); + Coordinator coord = EnvFactory.getInstance() + .createCoordinator(ctx, executor.planner(), ctx.getStatsErrorEstimator()); coord.setLoadMemLimit(request.getExecMemLimit()); coord.setQueryType(TQueryType.LOAD); TableIf table = httpStreamParams.getTable();