From 01c01574ae852a22bd900ef8155ad680aa83bdf0 Mon Sep 17 00:00:00 2001 From: liaoxin Date: Mon, 8 Jul 2024 15:27:14 +0000 Subject: [PATCH] [fix](load) The NodeChannel should be canceled when failed to add block --- be/src/vec/sink/writer/vtablet_writer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/be/src/vec/sink/writer/vtablet_writer.cpp b/be/src/vec/sink/writer/vtablet_writer.cpp index 3dece76159cd7f..ba5caead91eed9 100644 --- a/be/src/vec/sink/writer/vtablet_writer.cpp +++ b/be/src/vec/sink/writer/vtablet_writer.cpp @@ -528,8 +528,11 @@ Status VNodeChannel::add_block(vectorized::Block* block, const Payload* payload) } SCOPED_RAW_TIMER(&_stat.append_node_channel_ns); - RETURN_IF_ERROR( - block->append_to_block_by_selector(_cur_mutable_block.get(), *(payload->first))); + st = block->append_to_block_by_selector(_cur_mutable_block.get(), *(payload->first)); + if (!st.ok()) { + _cancel_with_msg(fmt::format("{}, err: {}", channel_info(), st.to_string())); + return st; + } for (auto tablet_id : payload->second) { _cur_add_block_request->add_tablet_ids(tablet_id); }