[fix](load) The NodeChannel should be canceled when failed to add block #37500 (#37527)

cherry pick from #37500
This commit is contained in:
Xin Liao
2024-07-09 17:01:04 +08:00
committed by GitHub
parent f7f0c20f00
commit 7cda8db020

View File

@ -516,8 +516,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);
}