This is an automated email from the ASF dual-hosted git repository. lihaopeng 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 69821c009e2 [fix](pipeline) fix check failed in StatefulOperator 69821c009e2 is described below commit 69821c009e2fe74788422b406d98b3116f6024a2 Author: Mryange <59914473+mrya...@users.noreply.github.com> AuthorDate: Mon Mar 25 14:57:18 2024 +0800 [fix](pipeline) fix check failed in StatefulOperator --- be/src/pipeline/exec/join_probe_operator.cpp | 7 ++++++- be/src/vec/exec/join/vjoin_node_base.cpp | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/be/src/pipeline/exec/join_probe_operator.cpp b/be/src/pipeline/exec/join_probe_operator.cpp index 48607309eca..5c89075e8b9 100644 --- a/be/src/pipeline/exec/join_probe_operator.cpp +++ b/be/src/pipeline/exec/join_probe_operator.cpp @@ -86,7 +86,12 @@ Status JoinProbeLocalState<SharedStateArg, Derived>::_build_output_block( // In previous versions, the join node had a separate set of project structures, // and you could see a 'todo' in the Thrift definition. // Here, we have refactored it, but considering upgrade compatibility, we still need to retain the old code. - *output_block = *origin_block; + if (!output_block->mem_reuse()) { + vectorized::MutableBlock tmp( + vectorized::VectorizedUtils::create_columns_with_type_and_name(p.row_desc())); + output_block->swap(tmp.to_block()); + } + output_block->swap(*origin_block); return Status::OK(); } SCOPED_TIMER(_build_output_block_timer); diff --git a/be/src/vec/exec/join/vjoin_node_base.cpp b/be/src/vec/exec/join/vjoin_node_base.cpp index 4697be19b84..9b954811ee9 100644 --- a/be/src/vec/exec/join/vjoin_node_base.cpp +++ b/be/src/vec/exec/join/vjoin_node_base.cpp @@ -184,7 +184,11 @@ Status VJoinNodeBase::_build_output_block(Block* origin_block, Block* output_blo // In previous versions, the join node had a separate set of project structures, // and you could see a 'todo' in the Thrift definition. // Here, we have refactored it, but considering upgrade compatibility, we still need to retain the old code. - *output_block = *origin_block; + if (!output_block->mem_reuse()) { + MutableBlock tmp(VectorizedUtils::create_columns_with_type_and_name(row_desc())); + output_block->swap(tmp.to_block()); + } + output_block->swap(*origin_block); return Status::OK(); } auto is_mem_reuse = output_block->mem_reuse(); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org