This is an automated email from the ASF dual-hosted git repository.
panxiaolei 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 0da148ec494 [refine](node) Remove the cse DCHECK from the constructor
(#33856)
0da148ec494 is described below
commit 0da148ec4946db6ba4250541ce9a8e14e7764182
Author: Mryange <[email protected]>
AuthorDate: Fri Apr 19 15:43:17 2024 +0800
[refine](node) Remove the cse DCHECK from the constructor (#33856)
It's possible that a failure in the fe caused the check to fail, and at
that moment, it may not be possible to retrieve the corresponding query ID from
be.out.
---
be/src/exec/exec_node.cpp | 16 +++++++++++++---
be/src/pipeline/pipeline_x/operator.cpp | 13 +++++++++++++
be/src/pipeline/pipeline_x/operator.h | 3 ---
3 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/be/src/exec/exec_node.cpp b/be/src/exec/exec_node.cpp
index eebb93cf1e7..382deaff6f4 100644
--- a/be/src/exec/exec_node.cpp
+++ b/be/src/exec/exec_node.cpp
@@ -90,10 +90,7 @@ ExecNode::ExecNode(ObjectPool* pool, const TPlanNode& tnode,
const DescriptorTbl
descs, std::vector {tnode.output_tuple_id}, std::vector
{true});
}
if (!tnode.intermediate_output_tuple_id_list.empty()) {
- DCHECK(tnode.__isset.output_tuple_id) << " no final output tuple id";
// common subexpression elimination
- DCHECK_EQ(tnode.intermediate_output_tuple_id_list.size(),
- tnode.intermediate_projections_list.size());
_intermediate_output_row_descriptor.reserve(tnode.intermediate_output_tuple_id_list.size());
for (auto output_tuple_id : tnode.intermediate_output_tuple_id_list) {
_intermediate_output_row_descriptor.push_back(
@@ -108,6 +105,19 @@ ExecNode::~ExecNode() = default;
Status ExecNode::init(const TPlanNode& tnode, RuntimeState* state) {
init_runtime_profile(get_name());
+ if (!tnode.intermediate_output_tuple_id_list.empty()) {
+ if (!tnode.__isset.output_tuple_id) {
+ return Status::InternalError("no final output tuple id");
+ }
+ if (tnode.intermediate_output_tuple_id_list.size() !=
+ tnode.intermediate_projections_list.size()) {
+ return Status::InternalError(
+ "intermediate_output_tuple_id_list size:{} not match "
+ "intermediate_projections_list size:{}",
+ tnode.intermediate_output_tuple_id_list.size(),
+ tnode.intermediate_projections_list.size());
+ }
+ }
if (tnode.__isset.vconjunct) {
vectorized::VExprContextSPtr context;
diff --git a/be/src/pipeline/pipeline_x/operator.cpp
b/be/src/pipeline/pipeline_x/operator.cpp
index fab80e6ccbd..d5afad15fa0 100644
--- a/be/src/pipeline/pipeline_x/operator.cpp
+++ b/be/src/pipeline/pipeline_x/operator.cpp
@@ -110,6 +110,19 @@ std::string OperatorXBase::debug_string(RuntimeState*
state, int indentation_lev
Status OperatorXBase::init(const TPlanNode& tnode, RuntimeState* /*state*/) {
std::string node_name = print_plan_node_type(tnode.node_type);
+ if (!tnode.intermediate_output_tuple_id_list.empty()) {
+ if (!tnode.__isset.output_tuple_id) {
+ return Status::InternalError("no final output tuple id");
+ }
+ if (tnode.intermediate_output_tuple_id_list.size() !=
+ tnode.intermediate_projections_list.size()) {
+ return Status::InternalError(
+ "intermediate_output_tuple_id_list size:{} not match "
+ "intermediate_projections_list size:{}",
+ tnode.intermediate_output_tuple_id_list.size(),
+ tnode.intermediate_projections_list.size());
+ }
+ }
auto substr = node_name.substr(0, node_name.find("_NODE"));
_op_name = substr + "_OPERATOR";
diff --git a/be/src/pipeline/pipeline_x/operator.h
b/be/src/pipeline/pipeline_x/operator.h
index b470c9237e8..efa35b2c2fe 100644
--- a/be/src/pipeline/pipeline_x/operator.h
+++ b/be/src/pipeline/pipeline_x/operator.h
@@ -164,10 +164,7 @@ public:
descs, std::vector {tnode.output_tuple_id}, std::vector
{true});
}
if (!tnode.intermediate_output_tuple_id_list.empty()) {
- DCHECK(tnode.__isset.output_tuple_id) << " no final output tuple
id";
// common subexpression elimination
- DCHECK_EQ(tnode.intermediate_output_tuple_id_list.size(),
- tnode.intermediate_projections_list.size());
_intermediate_output_row_descriptor.reserve(
tnode.intermediate_output_tuple_id_list.size());
for (auto output_tuple_id :
tnode.intermediate_output_tuple_id_list) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]