diff --git a/be/src/vec/exec/join/vhash_join_node.cpp b/be/src/vec/exec/join/vhash_join_node.cpp index 9f93f969bb..163d1201a0 100644 --- a/be/src/vec/exec/join/vhash_join_node.cpp +++ b/be/src/vec/exec/join/vhash_join_node.cpp @@ -24,7 +24,6 @@ #include "vec/core/materialize_block.h" #include "vec/exprs/vexpr.h" #include "vec/exprs/vexpr_context.h" -#include "vec/functions/simple_function_factory.h" #include "vec/utils/util.hpp" namespace doris::vectorized { diff --git a/be/src/vec/exec/volap_scan_node.cpp b/be/src/vec/exec/volap_scan_node.cpp index 953e5b7826..ba9838b755 100644 --- a/be/src/vec/exec/volap_scan_node.cpp +++ b/be/src/vec/exec/volap_scan_node.cpp @@ -221,7 +221,14 @@ void VOlapScanNode::scanner_thread(VOlapScanner* scanner) { std::lock_guard l(_free_blocks_lock); _free_blocks.emplace_back(block); } else { - blocks.push_back(block); + if (!blocks.empty() && blocks.back()->rows() + block->rows() <= _runtime_state->batch_size()) { + MutableBlock(blocks.back()).merge(*block); + block->clear_column_data(); + std::lock_guard l(_free_blocks_lock); + _free_blocks.emplace_back(block); + } else { + blocks.push_back(block); + } } raw_rows_read = scanner->raw_rows_read(); }